c语言问题,请大神指教

编程实现:main函数中构造一个有5个元素的数组,其初始值由键盘输入。
另有一个SelMax函数,接收两个参数作为参数,第一个参数为数组,第二个为数组中元素个数,该函数返回这5个元素中的最大值。main函数将SelMax函数返回的最大值显示输出。

#include<stdio.h>
int SelMax(int a[], int n);

int main()
{
    int i = 0, a[5] = {0};
    for( ; i < 5; ++i)
        scanf("%d", &a[i]);
    
    printf("maxnum = %d\n", SelMax(a, 5));
    return 0;
}

int SelMax(int a[], int n)
{
    int i = 1, max = a[0];
    for( ; i < n; ++i)
    {
        if(a[i] > max)
            max = a[i];
    }
    return max;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言的题哪位大神帮帮我?
&n); int numbers[n]; int sum = 0; for (int i = 0; i < n; i++) { printf("请输入第%d个数字:", i + 1); scanf("%d", &numbers[i]);sum += numbers[i];

c语言编程问题,还请大神指点 怎么将t【1】,t【2】,t【3】赋值...
以赋值5,6,7为例:逻辑关系:一、scanf ("%d,%d,%d",&a1,&a2,&a3);在键盘上输入 5,6,7 这样a1=5,a2=6,a3=7;二、InitTriplet(p,a1,a2,a3);status InitTriplet (Triplet &T,int v1, int v2, int v3)这样v1=5,v2=6,v3=7;三、 T[0]=v1;T[1]=v2;T[2]=v3;这...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。

C语言问题求大神详细解析
声明和定义必须相同。还有函数的返回值类型为void时表示函数没有返回值,不能使用函数的返回值。a错 因为调用在定义之前但是没有声明 b错 函数定义的时候返回值类型为void,却欲图使用函数的返回值。c错 函数的声明返回值为int,定义返回值为void 不相符 d正确 ...

求大神C语言编程,题目要求在下面
下面是我的代码,三个函数分别对应三个问题。include<stdio.h> define MLEN 20\/\/字符串最大长度 char fun1();void fun2();void fun3();int main(void){ fun1();fun2();fun3();return 0;} char fun1(){ int nI;float nF;char c;char str[MLEN];printf("请分别输入1个整数,1个...

C语言,数组输入遇到问题求大神指教:哪里错了,如何改正,为什么会出现...
所以你那样写,第一次循环输入2回车,不会进入下一次循环,而是等待再次输入,然后你输入3的时候2被存储在元素1中,进入下一个循环,已经有3了还要等待输入,于是你输入4,实际保存的是3,所以后面都错位了,结果就是最后一个输入没有被保存。另外所有i循环都从0开始,包括冒泡排序。修改如下:include<...

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
1.之所以再次编译值不改变,乃是因为系统在加载可执行镜像时所选取的栈的初始地址是相对固定的,a就在这个栈上,而且程序开始到main函数执行,这是一段按部就班的例程,没有什么变数,所以a的地址不变是可以理解的。2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一...

c语言 鞍点问题,求大神指教我哪里写错了~~~
你的程序问题在于 i 这个变量嵌套的for循环覆盖了上层的for循环中的 i值,把嵌套for循环改为变量k就好了(添加一个变量k)for(k=0;k<4;k++) \/*每一行的最大点和该点所在列的数比较,看它是否是鞍点。*\/ { if(array[k][column]>max) printf("\\n");else printf("%d\\n",max);} ...

求c语言大神帮忙
A:当 x 传递的是 a+b 变量时,理想应该是(a+b)*(a+b),但计算却变成了 a+b*a+b;B

相似回答