永发信息网

从键盘任意输入n个数(以0结束),统计正负数个数,并分别计算所有正数和负数的平均值的c语言程序

答案:4  悬赏:30  手机版
解决时间 2021-11-20 13:14
  • 提问者网友:箛茗
  • 2021-11-20 03:42
从键盘任意输入n个数(以0结束),统计正负数个数,并分别计算所有正数和负数的平均值的c语言程序
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-11-20 04:18
#include
void main()
{ int s,n1,n2,x;
n1=n2=s=0;
while ( 1 )
{ scanf("%d",&x);
if ( x==0 ) break;
else if ( x<0 ) n1++;
else n2++;
s+=x;
}
printf("正数有%d个,负数有%d个,平均值为%d\n",n2,n1,s/(n1+n2));
}
全部回答
  • 1楼网友:人间朝暮
  • 2021-11-20 05:30
#include
int main()
{
int i=0,j=0,n;
double si=0,sj=0;
while(scanf("%d",&n)&&n!=0)
{
if(n>0){i++;si+=n;}
else {j++;sj+=n;}
}
printf("pos=%d aver=%.2lf
neg=%d aver=%.2lf ",i,si/i,j,sj/j);
return 0;  
}
  • 2楼网友:酒醒三更
  • 2021-11-20 05:03
#include

void main()
{
int num ,positive_number = 0,negative_number = 0;
scanf_s("%d",&num);
while(num != 0)
{
if(num>0)
positive_number++;
else
negative_number++;
scanf_s("%d",&num);

}
printf("正数:%d\n负数:%d\n",positive_number,negative_number);

}

vs2012通过并测试成功
你的编译器可能需要把scanf_s("%d",&num);
去掉后面的_s 变成
#include

void main()
{
int num ,positive_number = 0,negative_number = 0;
scanf("%d",&num);
while(num != 0)
{
if(num>0)
positive_number++;
else
negative_number++;
scanf("%d",&num);

}
printf("正数:%d\n负数:%d\n",positive_number,negative_number);

}
  • 3楼网友:第四晚心情
  • 2021-11-20 04:32
弄个简单的吧!……

#include
int main()
{
int n,sz=0,sf=0,pz,pf;//f代表要输入的数,sz,sf,pz,pf分别代表正负数的个数,正数和负数的平均值
int xz=0,xf=0;//正数和负数的和
scanf("%d",&n);
while(n!=0) //输入n个数,以0结束
{
if(n>0)
{
sz++;
xz+=n;

}

else if(n<0)
{
sf++;
xf+=n;
}
scanf("%d",&n);
}
pz=xz/sz;
pf=xf/sf;
printf("正数的个数为%d个\n",sz);
printf("负数的个数为%d个\n",sf);
printf("正数的平均值为%d\n",pz);
printf("负数的平均值为%d\n",pf);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯