Problem Description
多组输入。
N(1 <= N <= 10),代表数字的个数。
N个整数输出包含三个数,第一个跟第二个数后面是空格,最后一个数后面是换行。<p class="\"cjk\"" 0cm;="" line-height:="" 100%\"="" style="margin-top: 0px; margin-bottom: 3px;">第一个数是这些数字中小于他们平均数的数字的个数,第二个数为等于他们平均数的数字的个数,第三个数为大于他们平均数的数字的个数。
Sample Input
3 1 2 3 5 2 4 4 5 5
Sample Output
1 1 1 1 2 2
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, a[21], sum = 0, ave, c1 = 0, c2 = 0, c3 = 0;
while(scanf("%d", &n) != EOF)
{
for(i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for(i = 0; i < n; i++)
{
sum = sum + a[i];
}
ave = sum / n;
for(i = 0; i < n; i++)
{
if(a[i] < ave)
{
c1++;
}
else if(a[i] == ave)
{
c2++;
}
else
{
c3++;
}
}
printf("%d %d %d\n", c1, c2, c3);
sum = 0; c1 = c2 = c3 = 0;
}
return 0;
}
一定要注意多次输入时,每次完成后要对sum,c1,c2,c3等数值清零。