永发信息网

C语言。求大神解从键盘上任意输入n个数(以0结束),统计正负数的个数;并分别计算正数和负数的平均值。

答案:4  悬赏:30  手机版
解决时间 2021-12-03 15:21
  • 提问者网友:爱唱彩虹
  • 2021-12-02 17:34
C语言。求大神解从键盘上任意输入n个数(以0结束),统计正负数的个数;并分别计算正数和负数的平均值。
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-12-02 18:47
#include
int main()
{
int num,pCount = 0,rCount = 0;
float result = 0.0;
printf("请输入一个非0的数:");
scanf("%d",&num);
while(num)
{
if(num < 0)
rCount++;
else
pCount++;
result += num;
printf("请输入一个非0的数:");
scanf("%d",&num);
}
result = result/(pCount + rCount);
printf("结果是:%f",result);
}
全部回答
  • 1楼网友:第幾種人
  • 2021-12-02 20:39
#include
main()
{
int i=0,j=0;
float a,ave1,ave2,sum1=0,sum2=0;
for(scanf("%f",&a);a;scanf("%f",&a))
{
if(a>0)
{
i++;
sum1+=a;
}
else
{
j++;
sum2+=a;
}
}
if(i==0) ave1=0;
else ave1=sum1/i;
if(j==0) ave2=0;
else ave2=sum2/j;
printf("正数的个数与平均值为:%d,%f\n",i,ave1);
printf("负数的个数与平均值为:%d,%f\n",j,ave2);
}
如满意望采纳~谢谢!
  • 2楼网友:独钓一江月
  • 2021-12-02 20:21
#include ;

int main(int argc, char **argv) {
    int m, zss = 0, fss = 0, zs = 0, fs = 0;

    printf("请输入数字,输入0表示输入结束: ");
    do {
        scanf("%d", &m);
        if (m > 0) {
            zss = zss + m;
            zs++;
        } else if (m < 0) {
            fss = fss + m;
            fs++;
        }
    } while (m != 0);
    printf(" 正数个数:%d 正数平均数:%d 负数个数:%d 负数平均数:%d ", zs, zss / zs, fs,
            fss / fs); //打印

    return 0;
}

调试ok

  • 3楼网友:神鬼未生
  • 2021-12-02 19:31
#include
#define N 100

int main()
{
int a[N], i, j, count1, count2;

float ave1, ave2;

count1= count2 = ave1 = ave2 = 0;

for ( i = 0; ; i++ )
{
scanf("%d", &a[i]);

if ( 0 == a[i] ) break;
}
for ( j = 0; j < i; j++ )
{
if ( a[j] < 0 )
{
count1++; ave1 += a[j];
}
else
{
count2++; ave2 += a[j];
}
}

printf("正数:%d 正数平均值:%f\n负数:%d 负数平均值:%f\n", count2, ave2/count2, count1, ave1/count1 );

return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯