PTA-统计正数和负数的个数然后计算这些数的平均值
如果非要用C写。
测试点2:如果为0不输出
测试点3:平均值为整数,那么要保留1位小数
测试点4:平均值为小数,该几位就几位,11位小数也得照样11位输出。
#include<stdio.h>
int main()
{
int countz=0,countf=0,sum=0,a;
double ave;
while(1)
{
scanf("%d",&a);
if(a==0)
break;
sum=sum+a;
if(a>0)
countz++;
if(a<0)
countf++;
}
if(countz+countf>0){
ave=1.0*sum/(countz+countf);
printf("%d\n",countz);
printf("%d\n",countf);
printf("%d\n",sum);
if(ave-(int)ave!=0)
{
int cnt=countz+countf;
printf("%d",sum/cnt);
printf(".");
if(sum<0) sum=-sum;
sum-=(int)(sum/cnt)*cnt;
int mycnt=0;
while(sum!=0)
{
sum*=10;
printf("%d",sum/cnt);
sum-=(int)(sum/cnt)*cnt;
mycnt++;
if(mycnt==20) break;
}
}
else
printf("%.1lf",ave);
}
return 0;
}