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.