怎样编程从键盘输入一批学生的成绩(以负数为结束标志),计算平均分,并统计不及格成绩的个数。
以下是已经开头的代码,求大神继续补充完整
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
//num代表总人数,score用于记录当前输入的分数,sum记录总分,
//average记录平均分,failed记录不及格人数,所有分数都定为“整数”。
int num=0, score=0,sum=0,average=0,failed=0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
//num代表总人数,score用于记录当前输入的分数,sum记录总分,
//average记录平均分,failed记录不及格人数,所有分数都定为“整数”。
int num=0, score=0,sum=0,average=0,failed=0;
do{
scanf("%d",&score);
if(score>=0)
{
sum+=score;//大于0的数,累加
num++;//大于0的计数
if(score<60)
failed++;//不及格的计数
}
}while(score>=0);//score大于0,继续循环;否则终止
average=sum/num;//平均值
printf("平均分:%d 不及格的人数:%d",average,failed);
return 0;
}
追问我是个C语言小白,为什么这里要用到stdlib头文件和(int argc,char argv呢?
追答实际你这个程序用不到这两行代码;
#include //这是个头文件,但是你这个程序并未用到这头文件下的,库函数(系统函数),所以这一句可有可无;
int main(int argc, char *argv[])//至于这一句,也是与本程序没太大关系的代码;int main()
一样可以运行
这一句我可能没能力给你解释清楚;但可以把这个理解成一个框架,;就这一题而言,这两种框架执行结果是一样的;
#include
int main()
{..............;return 0;}
____________________________________
#include
int main(int argc,char *argv[])
{..............;return 0;}
实际你这个程序用不到这两行代码;
stdlib //这是个头文件,但是你这个程序并未用到这头文件下的,库函数(系统函数),所以这一句可有可无;
int main(int argc, char *argv[])//至于这一句,也是与本程序没太大关系的代码;int main()
一样可以运行
这一句我可能没能力给你解释清楚;但可以把这个理解成一个框架,;就这一题而言,这两种框架执行结果是一样的;
#include
int main()
{..............;return 0;}
____________________________________
#include
int main(int argc,char *argv[])
{..............;return 0;}
这两行代码可有可无,
第一头文件,这程序并未用到这个头文件下的库函数(系统函数);
(int argc,char argv)这多余的,本程序用不到;
#include <stdlib.h>
int main(int argc, char *argv[])
{
//num代表总人数,score用于记录当前输入的分数,sum记录总分,
//average记录平均分,failed记录不及格人数,所有分数都定为“整数”。
int num=0, score=0,sum=0,average=0,failed=0;
while(scanf("%d", &score) != EOF) {
if (score < 0) {
break;
}
sum += score;
num ++;
if (score < 60) {
failed++;
}
}
average = sum / num;
printf("num: %d, sum: %d, average: %d, failed: %d\n", num, sum, average, failed);
return 0;
}