从键盘输入若干 整数(零表示结束), 统计出 数据个数, 以及最大值、最小值和平均值。
从键盘输入若干 整数(零表示结束),
统计出
数据个数,
以及最大值、最小值和平均值。
用一个函数实现数据
输入的功能,其首部为:
int Input(int s[])
Input的参数为输入的数据,
函数返回值大于0表示该行输入的数据个数,
0表示输入结束。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
void statistics(int n, int s[], int *max, int *min, float *avg)
输入
从键盘输入若干数据整数(零表示结束)
输出
统计出数据个数,以及最大值、最小值和平均值
样例输入
1 2 3 4 5 0
样例输出
Num=5
Max=5
Min=1
Avg=3.000
#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> // // 拷贝到平台的时候把my_fuction_lib.h注释掉. //#include "my_fuction_lib.h" //在此下方插入自定义函数对的声明: void statistics(int n, int s[], int *max, int *min, float *avg) { max[0] = min[0] =s[0]; float sum = max[0]; for(int i = 1;i<n;i++) { if(s[i] > max[0]) max[0] = s[i]; else if (s[i] <min[0]) min[0] = s[i]; sum += s[i]; } avg[0] = sum/n; } int Input(int s[]) { /* 以下写法不可取,因为scanf里的i++后,回到while的判断中,是s[i]就不是刚才读组的值了 因此无法判断刚才读到的是否结束标志0. int i = 0; scanf("%d",&s[i]); while( s[i] != 0) { scanf("%d",&s[i++]); } */ int i = 0; /* 初始化s[0] */ scanf("%d",&s[i]); for(;s[i++] != 0;) { scanf("%d",&s[i]); } return i-1; } //主函数main int main() { int s[100]; int min[1]; int max[1]; float avg[1]; int n; int i = 0; // while(scanf("%d",&s[i++]) && s[i] != 0); n = Input(s); statistics(n, s, max, min, avg); printf("Num=%d\n", n); printf("Max=%d\n",max[0]); printf("Min=%d\n",min[0]); printf("Avg=%.3f\n",avg[0]); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-04-01 linux_系统编程系统库调用和函数所在头文件的查询/apropos获取按功能查找命令/查找头文件所在目录