您的位置:首页 > 其它

实验 8 数组2 1、程序调试,按照“分析结果、设置断点、使用单步执行并观察变量、分析变量结果、修改程序”五个阶段调试和改正程序;

2013-11-04 09:52 956 查看
#include <stdio.h>
#define MAX_N 100  //最大总人数
void main()
{
int n;                                        //总人数
int i;                                        //循环变量
float Mark[MAX_N];                            //各人成绩
float MaxMark,MinMark,AvgMark;                //最高分 最低分 平均分
float sum;                                    //分数总和
int Num90=0,Num80=0,Num70=0,Num60=0,Num0=0; //分数段
printf("请输入总人数n=");
scanf("%d",&n);
for(i = 0; i < n; i++)
{
printf("Mark[%d]=", i);
scanf("%f", &Mark[i]);
}
MaxMark=0;
MinMark=100;
sum=0;
for(i = 0; i < n; i++)
{
sum = sum + Mark[i];
if(Mark[i] > MaxMark)
MaxMark = Mark[i];
if(Mark[i] < MinMark)
MinMark = Mark[i];
if(Mark[i] >= 90)
Num90++;
else if(Mark[i] >= 80)
Num80++;
else if(Mark[i] >= 70)
Num70++;
else if(Mark[i] >= 60)
Num60++;
else
Num0++;
}
AvgMark = sum / n;
//输出
printf("最高分为%.1f\n", MaxMark);
printf("最低分为%.1f\n", MinMark);
printf("平均分为%.2f\n", AvgMark);
printf("90-100的人数为%d\n", Num90);
printf("80-89的人数为%d\n", Num80);
printf("70-79的人数为%d\n", Num70);
printf("60-69的人数为%d\n", Num60);
printf("60分以下人数为%d\n", Num0);
}


1.maxmark,minmark,sum没有赋值,输出时最高分最低分平均分应为浮点型,缺少80~90段,求sum时要加mark[i].

2.共3个。1用来测试复制情况,2用来测试if循环,3用来测试输出结果。

3.有变化。maxmark,minmark会变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐