麻烦高手看看程序还没编完 但是我感觉数组传递可能错了 麻烦高手指点下

[复制链接]
查看11 | 回复2 | 2010-12-22 20:29:30 | 显示全部楼层 |阅读模式
#include
void xpjf(int tab[10][5]);
void kpjf(int tab[10][5]);
void zgf(int tab[10][5]);
int main(void)
{

int tab[10][5];

int i,j,choice;

printf("输入10个学生的成绩\n");

for(i=0;i<10;i++)

for(j=0;j<5;j++)

scanf("%d",&tab[j]);

for(i=1;i<=4;i++)

{

printf("按1计算每个学生平均分\n");

printf("按2计算每门课平均分\n");

printf("按3找出所有五十个分数中最高的分数所对应的学生和课程\n");

printf("按0退出查询\n");

printf("请输入选项\n");

scanf("%d",&choice);

if(choice==0)

break;



switch(choice)

{

case 1:void xpjf(int tab);break;

case 2:void kpjf(int tab);break;

case 3:void zgf(int tab);break;

}

}

while(1); return 0;
}
void xpjf(int tab[10][5])
{

int a,b,;

double sum;

for(a=0;a<10;a++)

{

sum=0;

for(b=0;b<5;b++)

{

sum=sum+tab[a];

printf("第%d个学生的平均分= %d\n",a+1,sum/5);

}

}
}
按照第一楼的改法 我出现编译错误 我之前就试过了

回复

使用道具 举报

千问 | 2010-12-22 20:29:30 | 显示全部楼层
程序中有几处问题。
switch(choice)
{
case 1:void xpjf(int tab);break;
case 2:void kpjf(int tab);break;
case 3:void zgf(int tab);break;
}调用函数时不需要指用函数返回值及参数类型,如 void xpjf(int tab); 应改为 xpjf(tab);程序中没有考虑操作失误,即 choice 为其它数字如5的情况,所以最后应加一句 default: (后面怎么处理自己看着办)。while(1);不知道
回复

使用道具 举报

千问 | 2010-12-22 20:29:30 | 显示全部楼层
switch(choice)
{
case 1:void xpjf( tab);break;
case 2:void kpjf( tab);break;
case 3:void zgf( tab);break;
}调用时传递相应变量。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行