2017.7.31

昨天忘记写博客,今天补上。

昨天学习的数组,老师用一种很直观很好理解的方式教给我们,但是一到做题的时候还是有点犯蒙的。

比如   1052

读入n个人的成绩,输出比平均分少的人的个数。

输入格式:

第一行:n n<=100

第二行:n个由空格隔开的整数。

输出格式:

一个整数m,表示低于平均分的人数。

代码如下:

#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstdio>
using namespace std;
int main()
{
int i,n,sum=0,m=0,a[110];
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
sum=sum+a[i];
}
for(i=0;i<n;i++)
{
if(double(1.0*sum/n)>a[i])
m++;
}
cout<<m<<endl;
return 0;
}

这道题其实思路很简单,先用一个数组,然后输入一个数组中的数组,用一个for循环,一直累加到sum里,所以最后的sum就是你输入的数字总和,然后求平均数,用总数初一人数,即sum/n,

然后再用一个for循环,如果平均数大于分数,初值为0的m就会加1,只要符合这个条件就会一直累加到m里,所以最后输出的m就是分数低于平均分的人数。

这样再一想就很容易,但还要注意平均分有可能是小数,所以要乘1.0.

 

posted @ 2017-08-01 13:22  zxy000  阅读(251)  评论(0编辑  收藏  举报