69,373
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#define stds_m 5
#define stds_e 3
int score_m[stds_m];
int score_e[stds_e];
int max_of(int v[],int num)
{
int max=v[0];
for(int i=1;i<num;i++)
{
if(max<v[i])
max=v[i];
}
return max;
}
void p_score() //输入学生成绩
{
int i;
printf("请输入学生成绩:\n");
for(i=0;i<(stds_m<stds_e)?stds_e:stds_m;i++) //5
{
if(i<(stds_m<stds_e)?stds_m:stds_e) //3
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
printf(" 英语:");
scanf("%d",&score_e[i]);
}
else
{
if(stds_m<stds_e)
{
printf("[%d]号英语:",i+1);
scanf("%d",&score_e[i]);
}
else
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
}
}
}
}
int main(int argc,char *argv[])
{
int max_m,max_e;
p_score();
max_m=max_of(score_m,stds_m);
max_e=max_of(score_e,stds_e);
printf("数学最高分是:%d\n",max_m);
printf("英语最高分是:%d\n",max_e);
return 0;
}
for(i=0;i<(stds_m<stds_e)?stds_e:stds_m;i++) //5
{
if(i<(stds_m<stds_e)?stds_m:stds_e) //3
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
printf(" 英语:");
scanf("%d",&score_e[i]);
}
else
{
if(stds_m<stds_e)
{
printf("[%d]号英语:",i+1);
scanf("%d",&score_e[i]);
}
else
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
}
}
}
这部分建议用两个循环分开来输入;不要用二层嵌套的输入。因为没看出数学和英语成绩之间有对应关系,或者说有某种关系