实验的具体内容:
编一个命令文件,用switch语句统计班级单科成绩各分段的人数,并将各人的成绩按优,良,中和不及格表示,要求从键盘输入成绩,每输入一个成绩,及时显示该成绩所在的成绩段并显示当前各段成绩的人数分布。
源代码如下所示:
function f=score()
z=0;
j=0;
k=0;
l=0;
n=input('班级的总人数为;');
v='该班级优秀人数为:%d人,良好的人数为%d,中等的人数为%d,不及格的人数为%d,\n';
for i=1:n
c=input('成绩是:');
switch 1<= c && c<=100
case 90 <= c && c <= 100
disp('成绩在(90~100)之间为优');
z=z+1;
fprintf(v,z,j,k,l);
case 80<= c && c<90
disp('成绩在(80~90)之间为良');
j=j+1;
fprintf(v,z,j,k,l);
case 60<= c && c<80
disp('成绩在(60~80)之间为中');
k=k+1;
fprintf(v,z,j,k,l);
case 0<= c && c<60
disp( '成绩在(0~60)之间为不及格');
l=l+1;
fprintf(v,z,j,k,l);
end
end
下面解释一下程序的设计思路,函数功能是靠两个循环实现的,外层的for循环是起到总的计数功能,根据我们想要求的学生成绩的个数来循环,内层的switch语句是实现成绩的分类与人数的统计,在switch语句里我们的成绩的四个等级分别对应了四个case语句。disp函数的功能是显示我们想要显示的文字,而fprintf函数则是我们想要返回一个可以根据我们人数的改变而改变的语句,具体的和我们C语言中的printf语句比较类似,input函数实现的是程序的交互,可以让我们输入我们自己想要的值。