请教两个C语言程序题?

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:28:00
1,编程题:键盘输入的10个英文字母,输出最大的英文字母。(要求使用数组名作为函数实参)
2,编程题:利用二维数组储存5个学生3门课程(语、数、外)的成绩,输出每个同学的三门课程总成绩。(要求使用数组名作为函数实参)
其实这两个程序我都会编,但是我就是不知道如何使用数组名作为函数实参
最好是讲解一下,我不太懂!
char max (char x)
{
int j;
char x[10];
int m=x[0];
for (j=1;j<10;j++)
if (m<x[j])
m=x[j];
}
main()
{
int i;
char s[10];
printf("please enter 10 zimu:\n");
for (i=0;i<10;i++)
scanf("%c",&s[i]);
printf("the max zi mu is:%c\n",max(s));
}
补充一下,指针还没有学!
我们还是只是学到递归调用
char max (char x[])
{
int j;
char x[];/*为什么这里又错了?*/
char m=x[0];
for (j=1;j<10;j++)
if (m<x[j])
m=x[j];
return max;
}
main()
{
int i;
char s[10];
printf("please enter 10 zimu:\n");
for (i=0;i<10;i++)
scanf("%c",&s[i]);
printf("the max

哎 要求还挺多 改好了 注意参数
char getMaxChar(char pCharAarray[]) {
char maxChar = pCharAarray[0];
int i = 1;
while(pCharAarray[i] != '\0') {
if (pCharAarray[i] > maxChar) {
maxChar = pCharAarray[i];
}
i++;
}

return maxChar;
}

****************补充00************
c语言里定义临时数组变量是需要制定大小的
例如char charArray[10];是对的 char charArray[];是错的
char charArray[] = {'a', 'b','e'};这是对的

把函数的参数改成 char max (char x[])即可。

改好的程序如下:
#include<stdio.h>
char max (char x[])
{
int j=sizeof(x);
/*char x[];为什么这里又错了? 不能定义了,已经定义过了*/
char m=x[0];
for (j=1;j<10;j++)
if (m<x[j])
m=x[j];
return m;
}
main()
{
int i;
char s[10];
printf("please enter 10 zimu:\n");
for (i=0;i<10;i++)
scanf("%c",&s[i]);
printf("the max