鱼C论坛

 找回密码
 立即注册
查看: 2744|回复: 9

[已解决]为什么加了最后的for就不能输出了

[复制链接]
发表于 2022-12-3 11:35:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[4][5],b[5]={0},c[5]={0};
  5.         int (*p)[5]=a;
  6.         int i,j,sum=0,js1,rs=0,js=0;
  7.         float pj1;
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 for(j=0;j<4;j++)
  11.                 {
  12.                         scanf("%d",&*(*(p+i)+j));
  13.                 }
  14.         }
  15.         for(i=0;i<5;i++)    //第一组
  16.         {
  17.                 sum+=  **(p+i);
  18.         }
  19.                                                          // printf("%.1f",sum*1.0/5);
  20.         for(i=0;i<5;i++)   //第二组
  21.         {
  22.                 js1=0;
  23.                 for(j=0;j<4;j++)
  24.                 {
  25.                         if( *(*(p+i)+j) <60) js1++;
  26.                 }
  27.                 if(js1>=2) rs++;
  28.         }
  29.                                                           //printf("%d",rs);
  30.         for(i=0;i<5;i++) //第三组
  31.         {
  32.                 pj1=0;
  33.                 for(j=0;j<4;j++)
  34.                 {
  35.                         pj1+=1.0/4*(*(*(p+i)+j));
  36.                 }
  37.                 if(pj1>=90) b[i]=1;
  38.         }
  39.         for(i=0;i<5;i++)
  40.         {
  41.                 for(j=0;j<4;j++)
  42.                 {
  43.                         if(*(*(p+i)+j) >=85) c[i]=1;
  44.                         else
  45.                         { c[i]=0; break;}
  46.                 }
  47.         }
  48.         /*for(i=0;i<5;i++)
  49.         {
  50.                 if(b[i]||c[i]) js++;
  51.         }*/
  52.         printf("%.1f %d %d",sum*1.0/5,rs,js);
  53.         return 0;
  54.        
  55. }
复制代码

输入5个学生,4门课成绩,二维数组stu[5][4]表示,行标表示学生,列标表示课程成绩,
(1)求第一门课的平均分;
(2)统计有2门以上(含2门)课程不及格的同学人数;
(3)平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学视为优秀,统计人数,
错误1.png
正确1.png
加了最后的for就输出不了,不加就可以输出但(3)没有完成。
最佳答案
2022-12-3 12:07:38
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[5][4],b[5]={0},c[5]={0};
  5.         int (*p)[4]=a;
  6.         int i,j,js1,rs=0,js=0;
  7.         float sum=0,pj1;
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 for(j=0;j<4;j++)
  11.                 {
  12.                         scanf("%d",*(p+i)+j);
  13.                 }
  14.         }
  15.         for(i=0;i<4;i++)
  16.         {
  17.             sum=0;
  18.             for(j=0;j<5;j++)    //第一组
  19.         {
  20.                 sum+=  *(*(p+j)+i);
  21.         }
  22.             printf("%.1f  ",sum*1.0/5);
  23.           }
  24.           printf("\n");                                          // printf("%.1f",sum*1.0/5);
  25.         for(i=0;i<5;i++)   //第二组
  26.         {
  27.                 js1=0;
  28.                 for(j=0;j<4;j++)
  29.                 {
  30.                         if( *(*(p+i)+j) <60) js1++;
  31.                 }
  32.                 if(js1>=2) rs++;
  33.         }
  34.         printf("%d\n",rs);
  35.         rs=0;
  36.         for(i=0;i<5;i++)   //第三组
  37.         {
  38.                 sum=0;
  39.                 js1=0;
  40.                 for(j=0;j<4;j++)
  41.                 {
  42.                         if( *(*(p+i)+j) >=90) js1++;
  43.                         sum+=*(*(p+i)+j);
  44.                 }
  45.                 if(sum/4>=85) rs++;
  46.                 else if(js1>=2)rs+=1;
  47.         }
  48.         printf("%d\n",rs);
  49.         return 0;

  50. }
复制代码
  1. 85 93 59 92
  2. 93 95 89 88
  3. 86 88 88 87
  4. 59 51 52 68
  5. 78 32 59 91
  6. 80.2  71.8  69.4  85.2
  7. 2
  8. 3

  9. Process returned 0 (0x0)   execution time : 5.078 s
  10. Press any key to continue.

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-12-3 11:57:30 | 显示全部楼层

回帖奖励 +5 鱼币

第一张图片好像是报错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:03:43 | 显示全部楼层

回帖奖励 +5 鱼币

本帖最后由 zhangjinxuan 于 2022-12-3 12:06 编辑

我这边并没有问题,最后的一个循环加上没有错的:
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[4][5],b[5]={0},c[5]={0};
  5.         int (*p)[5]=a;
  6.         int i,j,sum=0,js1,rs=0,js=0;
  7.         float pj1;
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 for(j=0;j<4;j++)
  11.                 {
  12.                         scanf("%d",&*(*(p+i)+j));
  13.                 }
  14.         }
  15.         for(i=0;i<5;i++)    //第一组
  16.         {
  17.                 sum+=  **(p+i);
  18.         }
  19.                                                          // printf("%.1f",sum*1.0/5);
  20.         for(i=0;i<5;i++)   //第二组
  21.         {
  22.                 js1=0;
  23.                 for(j=0;j<4;j++)
  24.                 {
  25.                         if( *(*(p+i)+j) <60) js1++;
  26.                 }
  27.                 if(js1>=2) rs++;
  28.         }
  29.                                                           //printf("%d",rs);
  30.         for(i=0;i<5;i++) //第三组
  31.         {
  32.                 pj1=0;
  33.                 for(j=0;j<4;j++)
  34.                 {
  35.                         pj1+=1.0/4*(*(*(p+i)+j));
  36.                 }
  37.                 if(pj1>=90) b[i]=1;
  38.         }
  39.         for(i=0;i<5;i++)
  40.         {
  41.                 for(j=0;j<4;j++)
  42.                 {
  43.                         if(*(*(p+i)+j) >=85) c[i]=1;
  44.                         else
  45.                         { c[i]=0; break;}
  46.                 }
  47.         }
  48.         for(i=0;i<5;i++)
  49.         {
  50.                 if(b[i]||c[i]) js++;
  51.         }
  52.         printf("%.1f %d %d",sum*1.0/5,rs,js);
  53.         return 0;
  54.         
  55. }
复制代码

程序输出:
  1. 80.2 2 2
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:05:37 | 显示全部楼层

回帖奖励 +5 鱼币

学习下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:06:58 | 显示全部楼层

回帖奖励 +5 鱼币

还没学这个呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:07:28 | 显示全部楼层

回帖奖励 +5 鱼币

谢谢楼主的币
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:07:38 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[5][4],b[5]={0},c[5]={0};
  5.         int (*p)[4]=a;
  6.         int i,j,js1,rs=0,js=0;
  7.         float sum=0,pj1;
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 for(j=0;j<4;j++)
  11.                 {
  12.                         scanf("%d",*(p+i)+j);
  13.                 }
  14.         }
  15.         for(i=0;i<4;i++)
  16.         {
  17.             sum=0;
  18.             for(j=0;j<5;j++)    //第一组
  19.         {
  20.                 sum+=  *(*(p+j)+i);
  21.         }
  22.             printf("%.1f  ",sum*1.0/5);
  23.           }
  24.           printf("\n");                                          // printf("%.1f",sum*1.0/5);
  25.         for(i=0;i<5;i++)   //第二组
  26.         {
  27.                 js1=0;
  28.                 for(j=0;j<4;j++)
  29.                 {
  30.                         if( *(*(p+i)+j) <60) js1++;
  31.                 }
  32.                 if(js1>=2) rs++;
  33.         }
  34.         printf("%d\n",rs);
  35.         rs=0;
  36.         for(i=0;i<5;i++)   //第三组
  37.         {
  38.                 sum=0;
  39.                 js1=0;
  40.                 for(j=0;j<4;j++)
  41.                 {
  42.                         if( *(*(p+i)+j) >=90) js1++;
  43.                         sum+=*(*(p+i)+j);
  44.                 }
  45.                 if(sum/4>=85) rs++;
  46.                 else if(js1>=2)rs+=1;
  47.         }
  48.         printf("%d\n",rs);
  49.         return 0;

  50. }
复制代码
  1. 85 93 59 92
  2. 93 95 89 88
  3. 86 88 88 87
  4. 59 51 52 68
  5. 78 32 59 91
  6. 80.2  71.8  69.4  85.2
  7. 2
  8. 3

  9. Process returned 0 (0x0)   execution time : 5.078 s
  10. Press any key to continue.

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:32:01 | 显示全部楼层
你维度记反了,第一维应该是每个学生,第二维才是成绩
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[5][4],b[5]={0},c[5]={0};
  5.         int (*p)[4]=a;
  6.         int i,j,sum=0,js1,rs=0,js=0;
  7.         float pj1;
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 for(j=0;j<4;j++)
  11.                 {
  12.                         scanf("%d",&*(*(p+i)+j));
  13.                 }
  14.         }
  15.         for(i=0;i<5;i++)    //第一组
  16.         {
  17.                 sum+=  **(p+i);
  18.         }
  19.                                                          // printf("%.1f",sum*1.0/5);
  20.         for(i=0;i<5;i++)   //第二组
  21.         {
  22.                 js1=0;
  23.                 for(j=0;j<4;j++)
  24.                 {
  25.                         if( *(*(p+i)+j) <60) js1++;
  26.                 }
  27.                 if(js1>=2) rs++;
  28.         }
  29.                                                           //printf("%d",rs);
  30.         for(i=0;i<5;i++) //第三组
  31.         {
  32.                 pj1=0;
  33.                 for(j=0;j<4;j++)
  34.                 {
  35.                         pj1+=1.0/4*(*(*(p+i)+j));
  36.                 }
  37.                 if(pj1>=90) b[i]=1;
  38.         }
  39.         for(i=0;i<5;i++)
  40.         {
  41.                 for(j=0;j<4;j++)
  42.                 {
  43.                         if(*(*(p+i)+j) >=85) c[i]=1;
  44.                         else
  45.                         { c[i]=0; break;}
  46.                 }
  47.         }
  48.         for(i=0;i<5;i++)
  49.         {
  50.                 if(b[i]||c[i]) js++;
  51.         }
  52.         printf("%.1f %d %d",sum*1.0/5,rs,js);
  53.         return 0;
  54.         
  55. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-12-3 12:32:35 | 显示全部楼层

啊,总是有人比我早点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 12:38:10 | 显示全部楼层
zhangjinxuan 发表于 2022-12-3 12:32
啊,总是有人比我早点

,习惯就好,jackz007才是快
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 07:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表