C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因

2024-12-20 08:02:37
推荐回答(2个)
回答1:

初学可以用二维数组来完成这个程序

int s[5][4]; 

第1个学生的4们课成绩依次放入:s[0][0],s[0][1],s[0][2],s[0][3]

第2个学生的4们课成绩依次放入:s[1][0],s[1][1],s[1][2],s[1][3]

……

第5个学生的4们课成绩依次放入:s[4][0],s[4][1],s[4][2],s[4][3]

然后用循环依次判断所有的数,如果s[ i ][ j ]这个分数小于60(不及格),那么就把这个人的分数全输出,即s[ i ][0],s[ i ][1],s[ i ][2],s[ i ][3]

#include

main()
{
 int s[5][4];
 int i,j;

 printf("请依次输入5个同学的成绩(形如:98 78 65 86)\n");
 for(i=0;i<5;i++)
 {
  printf("学生%d的4门课成绩:",i+1);
  for(j=0;j<4;j++)
   scanf("%d",&s[i][j]);
 }
 for(i=0;i<5;i++)
 {

  for(j=0;j<4;j++)
  {
   if(s[i][j]<60)  //第i+1人的第j+1门课不及格
   {
    printf("\n学生%d有挂科,该生的全部成绩是: ",i+1);
    for(j=0;j<4;j++)      //输出这人的全部成绩
     printf("%d ",s[i][j]);
    printf("\n");      //输出完毕换行
    break;         //结束本次for循环,进入下次for循环查看下一个人的成绩情况

   }
  }
 } 
}

回答2:

这个就是一个链表的程序,你可以去看看我的文库里有一个关于这个的程序