C语言 Problem C: 简单的数值统计 求解答代码

ProblemC:简单的数值统计Description现有一堆非零整数,要求统计其中正数、负数的个数以及它们的平均值。Input输入一系列整数,仅有最后一个数字是0,表示... Problem C: 简单的数值统计
Description
现有一堆非零整数,要求统计其中正数、负数的个数以及它们的平均值。
Input
输入一系列整数,仅有最后一个数字是0,表示输入的结束。所有数据以及它们的和都在int的表示范围之内。
Output
输出有2行。如果有负数,第一行输出负数的个数和平均值,否则第一行输出0;如果有正数,第二行输出正数的个数以及平均值,否则第二行输出0。每行输出如果有2个数,则用空格隔开。平均值只保留2位小数。
Sample Input
1 2 3 4 -1 -2 -3 -4 0
Sample Output
4 -2.50 4 2.50
展开
 我来答
vigoryu
2012-04-21 · TA获得超过142个赞
知道答主
回答量:49
采纳率:0%
帮助的人:38.5万
展开全部
#include <stdio.h>
int main()
{
int number;
int countPositive=0, countNegative=0;
int sumPositive=0, sumNegative=0;

float avgPositive, avgNegative;

scanf("%d", &number);
while(number != 0)
{
if(number < 0) // the number is Positive.
{
sumPositive += number;
countPositive++;
}
else // the number is Negative.
{
sumNegative += number;
countNegative++;
}

scanf("%d", &number);
}

// calculate average
/* notice: convert to float, if you not do this , you can't get the right answer*/
avgPositive = (sumPositive*1.0)/countPositive;
avgNegative = (sumNegative*1.0)/countNegative;

// Output
if(countPositive != 0) printf("%d %.2f\n", countPositive, avgPositive);
else printf("%d\n", countPositive);
if(countNegative != 0) printf("%d %.2f\n", countNegative, avgNegative);
else printf("%d\n", countNegative);

return 0;

}
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式