C语言练习——输出学生成绩(平均成绩、最高成绩、最低成绩)
【摘要】 C语言练习——输出学生成绩(平均成绩、最高成绩、最低成绩)。
C语言练习——输出学生成绩(平均成绩、最高成绩、最低成绩)
名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼
一、问题呈现
1.问题描述
Problem Description
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。
2.输入输出
Input
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。
Output
按照以下格式输出:
average = 平均成绩
max = 最高成绩
min = 最低成绩
结果均保留两位小数
3.测试样例
1️⃣样例1
Sample Input
5
80 90 100 90 80
Sample Output
average = 88.00
max = 100.00
min = 80.00
2️⃣样例2
Sample Input
5
80 90 100 70 80
Sample Output
average = 84.00
max = 100.00
min = 70.00
二、源码实现(+详细注释)
1.注释版
//编码及注释:Code_流苏
//定义头文件
#include<stdio.h>
#include<stdlib.h>
//f函数 用于实现最大值和最小值的遍历查找
double f(int *a,int n,int m)
{
int i;
//定义index整型变量 并初始化为0 用于存储最大值和最小值下标索引
int index=0;
//循环遍历 查找最大值和最小值
for(i=1;i<n;i++)
{
if(m==1)
{
if(a[i]>=a[index]) index=i; //查找最大值
}
else
{
if(a[i]<=a[index]) index=i;//查找最小值
}
}
//返回浮点值
return a[index]/1.0;
}
//主函数
int main()
{
//定义变量N用于存储及输入学生人数
int N;
//定义数组 用于 存储 循环遍历
int arr[10005];
printf("请输入学生人数:");
scanf("%d",&N);
int i;
//定义sum用于存储求和之后的值
int sum=0;
printf("请输入这些学生的成绩:");
//循环遍历求和
for(i=0;i<N;i++)
{
scanf("%d",&arr[i]);
sum+=arr[i];
}
//输出平均数
printf("average = %.2lf\n",sum/(double)N);
//输出最大值
printf("max = %.2lf\n",f(arr,N,1));
//输出最小值
printf("min = %.2lf\n",f(arr,N,2));
//返回0,代表程序执行结束
return 0;
}
2.简洁版
#include<stdio.h>
#include<stdlib.h>
double f(int *a,int n,int m)
{
int i;
int index=0;
for(i=1;i<n;i++)
{
if(m==1)
{
if(a[i]>=a[index]) index=i;
}
else
{
if(a[i]<=a[index]) index=i;
}
}
return a[index]/1.0;
}
int main()
{
int N;
int arr[10005];
printf("请输入学生人数:");
scanf("%d",&N);
int i;
int sum=0;
printf("请输入这些学生的成绩:");
for(i=0;i<N;i++)
{
scanf("%d",&arr[i]);
sum+=arr[i];
}
printf("average = %.2lf\n",sum/(double)N);
printf("max = %.2lf\n",f(arr,N,1));
printf("min = %.2lf\n",f(arr,N,2));
return 0;
}
三、输出结果展示
为了使整体内容简洁,此处只展示一组测试数据结果。
1.输出结果
请输入学生人数:5
请输入这些学生的成绩:80 90 100 70 80
average = 84.00
max = 100.00
min = 70.00
--------------------------------
Process exited after 14.98 seconds with return value 0
请按任意键继续. . .
2.输出结果(图示版)
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 感谢支持!
多思,多练,多总结,坚持下去会有收获的!
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)