c语言题,有50个学生,要输出成绩在 80分,以上的学生,学号和成绩。m代表成绩,我这个写完,哪里

2025-03-19 16:34:17
推荐回答(2个)
回答(1):

i不应该既做循环变量,又做学号变量,应当用另一个变量接收学号,因为你输入的学号是在给i赋值,例如,当i=0时,你输入的学号为34,则i=34,此时的循环中i就变成了34,执行完i++之后,i=35,所以才会出现你这种情况。

回答(2):

for(i=1;i<=50;i++)
{

scanf("%d,%d',&n,&d);
if( m>=80)
printf("成绩”.....
}

或者
int m[51],d[51],i ;
for(i=1;i<=50;i++)
{
scanf("%d,%d',m+i,d+i);
}
for(i=1;i<=50;i++)
{

if( m[i]>=80)
printf("成绩=%d, 学号=%d”,m[i],d[i] );

}