John_Gcn 2022-12-07 17:18 采纳率: 83.3%
浏览 43
已结题

c语言小白数组的问题以及%f的问题

首先这个是一个学生成绩系统的小问题

在开头对于数组的定义,对于其中量的问题不太理解{0,0,0,0,0,0,}就是这个
我在下面的代码段无法找到二维数组的其中一个数据,只有通过修改i,j的数值一遍一遍的尝试找位置
其次是在case(1)(2)中最后一个printf是为了求出平均数,但是如果我将%d改成%f的话(因为开头zonghe变量是float类型)
会显示不出来数据,用%d显示又不能精确到小数,所以很苦恼,修改了好多次都不成功


#include <stdio.h>
int main()
{
 int a[5][6]={{0,0,0,0,0,0},{0,3,6,7,9,1},{0,4,9,2,1,6},{0,8,7,6,5,3},{0,1,3,6,9,5}};
 int i,j,shuzi,xuehao;
 int sum,zonghe=0;
printf("所有人成绩为:\n");
for(i=1;i<=4;i++)
 {
  printf("%d:  ",i);
  for(j=1;j<=5;j++)
   printf("%d ",a[i][j]);
   printf("\n");
 }
 printf("选择查询方式:\n");
 printf("1. 按行查询,可查询某个学生所有课程成绩和平均成绩\n");
 printf("2. 按列查询,可查询某门课所有学生成绩和该门课平均成绩\n");
 printf("3. 按行列查询,可查询某个学生某门课成绩\n");
 scanf("%d",&shuzi);
 switch (shuzi) 
 {
 
 
 case 1:
  printf("请输入学生的学号:\n");
   scanf("%d",&xuehao);
   printf("该学生的成绩为:\n");
    for(j=0;j<5;j++)
     {
     printf("%d ",a[xuehao][j+1]);
     }
     printf("\n");
     for(j=0;j<5;j++)
     {
      sum=a[xuehao][j+1];
      zonghe=zonghe+sum;
     }
      zonghe=zonghe/5;
     printf("该学生的平均成绩为:\n%1.1d",zonghe);
break;

 case 2:
   printf("请输入课程号:\n");
    scanf("%d",&xuehao);
    printf("该课程的成绩为:\n");
     for(j=0;j<4;j++)
      {
      printf("%d ",a[j+1][xuehao]);
      }
      printf("\n");
      for(j=0;j<4;j++)
      {
       sum=a[j+1][xuehao];
       zonghe=zonghe+sum;
      }
       zonghe=zonghe/5;
      printf("该课程的平均成绩为:\n%1.1f",zonghe);
break;

case 3:
   printf("请输入几行几列:\n");
    scanf("%d\n%d",&i,&j);
     printf("该学生的成绩为:\n");
      printf("%d ",a[i][j]);
       printf("\n");
      
break;
 }
}


  • 写回答

4条回答 默认 最新

  • 於黾 2022-12-07 17:21
    关注

    横着看太不好理解,你把它竖起来就好了

    int a[5][6]=
    {
    {0,0,0,0,0,0},//这对应的是a[0][0]到a[0][5]
    {0,3,6,7,9,1},//a[1][0]到a[1][5]
    {0,4,9,2,1,6},
    {0,8,7,6,5,3},
    {0,1,3,6,9,5}//a[4][0]到a[4][5]
    };
    

    数组索引从0开始
    2.zonghe这个变量类型本身是个int,它就存不下小数啊,要么你直接写printf("%f",zonghe/5f),要么你把它定义成float再求值,要么你重新定义个float型的变量来存平均数,不要非把结果写回sum里

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 修改了问题 12月7日
  • 创建了问题 12月7日

悬赏问题

  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失