C语言--循环--数据统计

该篇文章描述了一个C语言程序,用于输入一组整数,计算它们的最小值、最大值以及平均值(保留三位小数),并以案例的形式展示了解题过程。
摘要由CSDN通过智能技术生成

输入一些整数,求出他们的最小值最大值平均值(保留三位小数)。输入保证这些数都是不超过1000的整数。

输入包含多组数据,每组数据第一行是整数个数n,第二行是n个整数。n=0为输入结束标记,程序应当忽略这组数据。相邻两组数据之间应输出一个空行。

样例输入:

8

2 8 3 5 1 7 3 6

-4 6 10 0

0

样例输出:

Case1: 1 8 4.375

Case2:-4 10 3.000

Case3:  0 0 0.000

代码:

#include<stdio.h>
#define INF 1000000000
int main()
{
    int x, n = 0, min = INF, max = -INF, s = 0, kase = 0;
    //x记录每组数据,n记录组数,
    //min,max,s记下每组数据的最小值,最大值,和
    //kase标志变量记下组数
    //定义常量INF:变量在未赋值之前的值是不确定的
    //min保存的是很小的值其初值应该是一个很大的常数,max保存的是很大的值其初值应该是一个很小的常数
    while (scanf("%d", &n) == 1 && n)
        //scanf无法再读取时将返回0
    {
        int s = 0;
        min = INF; max = -INF;
        //多组数据的题目一定要重置数据
        //当嵌套的两个代码中有同名变量时,内层变量会屏蔽外层变量
        for (int i = 0; i < n; i++) {
            scanf("%d", &x);
            //输入每组数据,数据无需保存故不用数组
            s += x;//求和
            if (x < min)min = x;//求每组数据中的最值
            if (x > max)max = x;
        }
        if (kase)printf("\n");//输出完一组数据后换行
        printf("Case %d:%d %d %.3lf\n", ++kase, min, max, (double)s / n);
    }
    return 0; 
}

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值