C语言,任意输入10个非零数,分别求出其中正数和负数的平均值。

2024-11-01 02:13:15
推荐回答(2个)
回答1:

题目主要应该通过选择语句判断正负,并分别处理

已知总数量为10,那我们设定一个计数n表示正数数量,可以知道10-n就是负数的数量
然后分别用正数的和,和负数的和,除以其各自的数量,就可以得到分别的平均值了。主函数里面这样写:

int psum=0, nsum=0; //分别对应正数和负数的和
int n=0, temp;//表示正数的数量,临时存输入数字的变量
for(int i=0;i<10;i++)//循环,读取10次数字
{
scanf("%d", &temp);//读10次数字
if(temp>0)
{
psum+=temp;
n++;
}
else
nsum+=temp;
}
printf("Average of Positive Numbers: %f", ((float)psum)/n);
printf("Average of Negtive Numbers: %f", ((float)nsum)/(10-n));

回答2:

#include
#define N 10
void main() { int x,n; float a,b;
n=0; a=b=0;
for ( i=0;i0 ) { a+=x; n++; } else b+=x; }
if ( n>0 ) { a/=n; printf("正数平均值:%f\n",a); }
if ( N-n>0 ) { b/=N-n; printf("负数平均值:%f\n",b); }
}