首先这个是一个学生成绩系统的小问题
在开头对于数组的定义,对于其中量的问题不太理解{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;
}
}