首页 > 其他 > 详细

今天突然想起了

时间:2020-03-27 15:38:58      阅读:59      评论:0      收藏:0      [点我收藏+]
练习3-3 统计学生平均成绩与及格人数 (15分)
 

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入格式:

输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:

按照以下格式输出:

average = 成绩均值
count = 及格人数
 

其中平均值精确到小数点后一位。

输入样例:

5
77 54 92 73 60
 

输出样例:

average = 71.2
count = 4





这里采用了两种方法,第一种采用了数组+自定义函数,第二种单纯的循环

#include<stdio.h>
int main()
{
int fact(int a[ ],int y);
int n,i;//n指学生人数
int count=0,sum=0;
double average=0;
scanf("%d",&n);
if(n<=0)
{
printf("average = 0.0\n");
printf("count = 0\n");

}else
{
int class[n];//在这里代替循环使用数组

for(i=0;i<n;i++)
{
scanf("%d",&class[i]);
if(class[i]<=0)
{
printf("成绩不能为负数,请重新输入!");
scanf("%d",&class[i]);
}
}
sum=fact(class , n);

for(i=0;i<n;i++)
{
if(class[i]>=60)
{
count++;
}
}
average=sum*1.0/n;
printf("average = %.1lf\n",average);
printf("count = %d\n",count);
}

return 0;
}
int fact(int a[ ],int y)
{
int i,add=0;
for(i=0;i<y;i++)
{
add+=a[i];
}
return add;
}

 

 

 

第二种

#include<stdio.h>
int main()
{
int n,i,x;
int sum=0,count=0;
double average=0;
scanf("%d",&n);
if(n>0)
{
for(i=1;i<=n;i++)
{
scanf("%d",&x);
sum+=x;
if(x>=60)
{
count++;
}
}
average=sum*1.0/n;
printf("average = %.1lf\n",average);
printf("count = %d\n",count);

}else
{
printf("average = 0.0\n");
printf("count = 0\n");
}

return 0;
}

今天突然想起了

原文:https://www.cnblogs.com/wven/p/12581198.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!