本实例实现的功能是:输入学生的学号及语文、数学、英语成绩,输出各科成绩及平均成绩信息,运行结果如图:
代码思路如下:
1、定义变量及数组的数据类型
2、输入学生的数量
3、输入每个学生的学号及三门学科的成绩
4、将输入的信息输出并同时输出每个学生三门学科的平均成绩
代码如下:
#include#include#define MAX 50//定义MAX为常量50
main()
{
int i,num;//定义变量i,num为基本整型
int Chinese[MAX],Math[MAX],English[MAX];//定义数组为基本整型
long StudentID[MAX];//定义StudentID为长整型变量
float average[MAX];
printf("Please input the number of the student\n");
scanf("%d",&num);//输入学生数
printf("please input a StudentID and three scores:\n");
printf(" StudentID Chinese Math English\n");
for(i=0;i",i+1);
scanf("%ld%d%d%d",&StudentID[i],&Chinese[i],&Math[i],&English[i]);
average[i]=(float)(Chinese[i]+Math[i]+English[i])/3; //计算出平均成绩
}
puts("\nStudentNum Chinese Math English average");
for(i=0;i实例中用到了符号常量MAX,我们也介绍一些和符号常量相关的知识:
1.符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值
2.使用符号常量的好处是在需要改变一个常量时能做到“一改全改”,如要改变MAX的值,则在程序开始处改动“#define MAX [数]”即可
程序中定义的average数组是单精度类型的,所以在输出时要以“%f”形式输出,实例中是以“%8.2f(%m.nf)”形式输出,其具体含义是输出的数据占m列,其中有n位小数。如果长度小于m,则左端补空格。"%8d",如果数据的位数小于8,则左端补以空格,若大于8,则按实际位数输出。