求C语言,用指针写,编写一函数fun,功能是,求出数组的最大元素在数组中的下标,并存放在k所指的储存单元 c语言:请编写一个函数fun,函数的功能是:求出N×M整型数...

   www.gaoxiao88.net
#include <stdio.h>

int max_el(int array[], int size, int * k)
{
int iMax=0, i = 0, j = 0;
for(i = 0; i < size; i++) {
if (array[i] > iMax) {
j = i;
iMax = array[i];
}
}
if (k) *k = iMax;
return j;
}

int main(void)
{
int a[8] = {1,4,5,3,2,4,0,1};
int k = 0;
int x = max_el(a, 8, &k);
int i = 0;
printf("数组为:\n");
for (i = 0; i < 8; i++) printf("%d\t", a[i]);
printf("\n最大元素为%d,位置为第%d个\n", k, x + 1);
return 0;
}

编写一个函数fun,该函数的功能是求出数组的最大元素在数组中的下标并存放在k中

#include "stdio.h"
#define NUM 20//定义一个符号常量,表示数组的长度,根据需要自己修改其值
int main()
{
int a[NUM],n,i,k,m=0;
scanf("%d",&n);//输入数组实际存放元素的个数
for (i=0;i<n;i++)
{
scanf("%d",&a[i]);//依次输入各个元素(个数与n相同)
}
for (i=0;i<n;i++)//找出最大的元素,并记录其下标
{
if (a[i]>m)
{
k=i+1;
m=a[i];
}
}
printf("数组a的最大元素为:%d,其下标为k=%d
",m,k);//输出结果
return 0;
}

int fun(int a[N][M])//数组的大小是传不过去的,应该改成int fun(int a[][],int m,int n),当然你并没有用到数组的大小,所以你的写法没错,你的宏定义错了
#define N 4;
#define M 3;
不要加分号啊,宏定义不是一个语句,把宏定义后面的分号去掉就行了

相关参考:

以下程序通过函数指针P调用函数fun(),请在空格处写出定义变量P的语句...
定义函数:数据类型 函数名(参数列表)参数说明;{ 函数体 } 而在函数中,函数名跟数组名一样,保存了该内存地址,大家都知道,内存保存的信息包含有指令和数据,那么数组的则是数据,函数则是指令,当使用函数名以后()和相对应的参数时为访问该地址的指令!p = fun;是把fun函数的地址赋给函数指针...

用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据...
\/*用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次打印出来 *\/ include <stdio.h> define M 5 define N 5 void Fun(int iaArray[][N]);void main(){ int iaArray[M][N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19...

C语言:编写函数fun计算下面s的值并返回;n由键盘输入并在主函数中输出...
include <iostream> \/ 计算公式:S=1+1\/(1+2)+1\/(1+2+3)+1\/(1+2+3+...+n)。分析:单项式中分子固定为1 分母为1..n的累和 s为各个单项式累和 \/ double fun(int n,int i,int sum,double result) { \/\/i>=n时跳出递归 sum+=i;result+=1.0\/sum;if(i>=n) { return result...

C语言指针函数的问题。 为什么这道题fun函数不会改变变量的值? 函数形 ...
因为交换的并不是值,而是指针。而指针本身是传的值。意思就是在fun中虽然a指向了y,b指向了x但是a、b只是p和q的副本。如果要交换变量值应该用int c,*c=*a,*a=*b,*b=*c。

编写一个函数fun,然后设计主函数调用函数fun
include <stdio.h> int fun(char *pszText, int nLen){ int nCount = 0;char chTemp = 0;for (int i=0; i<nLen; i++){ chTemp = *(pszText+i);if (chTemp >= 'a' && chTemp <= 'z'|| chTemp >= 'A' && chTemp <= 'Z'){ nCount++;} } return nCount;} void...

C语言 写一个函数交换两个数的值,为什么一定要用指针?
a4:2;b4:1 aa4:2;bb4:1 a5:2;b5:1 aa5:2;bb5:1 main中调用fun1()时,将实参a,b的值传递给了交换函数,如果此时在swap1中打印,可以看到结果是正确的,但是该过程其实是将aa和bb分别复制了一份给了函数,执行完fun1()之后,aa和bb的值没有任何变化。fun2(),看似的确使用了指针,但...

C语言:用指针编程:有一个数列,含有20个整数,编写函数,要求能够对从指定...
include<stdio.h>void main(){int *fun(int *,int,int);int a[20],*p;int m,n;int i;printf("输入数列:");for(i=0;i<20;i++)scanf("%d",&a[i]);printf("输入起始位置和需要逆序的数量:");scanf("%d %d",&m,&n);p=a;printf("原数列为:\\n");for(i=0;i<20;i++...

请用c语言编写一个函数fun功能是:计算n门课程的平均分,计算结果作为函 ...
float fun(float a[],int n){ int i;float s=0,t;for(i=0;i<n;n++)s=s+a[i];t=s\/n;return(t);}

用C编写函数fun (int a[],int n)求数组的最大值,其中参数n表示数组的长 ...
include <stdio.h>int fun(int a[],int n){int i,max=a[0];for(i=1;i<n;i++)if(max<a[i]) max=a[i];return max;}void main(){int i,n,a[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);printf("%d",fun(a,n));}\/\/运行示例:

编写函数fun(n),n为三位数,判断n是否为水仙花数。(用C语言程序编写)
include<stdio.h> int fun(int n){ int a,b,c;a = n % 10;b = n \/ 10 % 10;c = n \/ 100;if(a*a*a+b*b*b+c*c*c==n){ return 1;} else { return 0;} } int main(){ int n;printf("输入一个三位数n:");scanf("%d",&n);if(fun(n)){ printf("%d是水仙花...

相关评论

  • 束宽3580: C语言 写程序(用指针做)
    13388971492: 1: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int num[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; int *p = num; int findnum; scanf("%d", &amp;findnum); while (p &lt; num + 15) { if (*p == findnum) break; p++; } if (p == num+15)...

  • 束宽3580: 用C语言编写程序,要求:指针作为函数参数 -
    13388971492: #include"stdio.h" #include"malloc.h" void move(int *array,int n,int m) { int *p,array_end; array_end=*(array+n-1); for(p=array+n-1;p>array;p--) *p=*(p-1); *array=array_end; if(m>0) move(array,n,m-1); } void main() { int *Arr,n,m,i; printf(...

  • 束宽3580: 用C语言编写一个程序,通过指针求一个数组中所有元素的和 -
    13388971492: #include "stdio.h" void main() { int a[10]; int i,count=0; printf("请输入10个数组元素: \n"); for(i=0;i<10;i++) { printf("%d : ",i+1); scanf("%d",&a[i]); } for(i=0;i<10;i++) count+=*(a+i); printf("数组元素和 = %d\n",count); }

  • 束宽3580: 用指针编C语言程序(必须是指针)
    13388971492: 第一题我试着写了个: #include <stdio.h> #define MAXSIZE 100 int main() { int arr[MAXSIZE];/*定义需要的数组*/ int i,*p,count;/*i为循环变量,p为指针变量,count为输入的整数的个数*/ int curNum;/*当前输入的值*/ int max,min;/*max为最大值...

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧