1.输入所有同学同一门课程的成绩
2.找出成绩的最高分
3.找出成绩的最低分
4.求出成绩的平均分
5.统计成绩中任意一个分数段的学生人数
6.将最低分放在所有成绩的第一位(换成最高分也可以)
7.输出所有成绩
要求:(1)编写的程序要体现出函数、数组的应用。
(2)程序演示要体现上述功能。
这个源程序怎么写啊,完全不会
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 树下等苹果 2022-05-28 19:02关注
代码如下:#include<stdio.h> #define MAX 100 int FindMax(int a[],int n) //输入参数为数组及其长度 { int max = a[0]; for (int i = 0; i < n; i++) if (a[i] > max) max = a[i]; return max; //函数返回值为数组最大值 } int FindMin(int a[], int n) //输入参数为数组及其长度 { int min = a[0]; for (int i = 0; i < n; i++) if (a[i] < min) min = a[i]; return min; //函数返回值为数组最小值 } double average(int a[], int n) { int sum=0; double ave; for (int i = 0; i < n; i++) sum += a[i]; ave = (double)sum / n; return ave;//函数返回值为数组平均值 } int sta_num(int a[], int n) { int sta_min, sta_max,count=0; printf("请输入要统计的分数段(用空格隔开,如:20 90 表示统计20到90分数段):"); scanf_s("%d %d", &sta_min, &sta_max); for (int i = 0; i < n; i++) if (a[i] >= sta_min && a[i] <= sta_max) count++; return count; } void PutMinFirst(int a[], int n) { for(int i=0;i<n-1;i++) //冒泡排序将分数从小到大排序 for(int j=0;j<n-1-i;j++) if (a[j] > a[j + 1]) { int temp; temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } void Print(int a[], int n) { for (int i = 0; i < n; i++) printf("%d\t", a[i]); } int main() { int n;//同学人数 int a[MAX];//成绩数组 printf("请输入学生人数:"); scanf_s("%d", &n); printf("请输入%d个学生成绩:",n); for (int i = 0; i < n; i++) scanf_s("%d", &a[i]);//输入n个同学的成绩 printf("max=%d\n", FindMax(a, n)); //求最大数并输出 printf("min=%d\n", FindMin(a, n)); //求最小数并输出 printf("average=%lf\n", average(a, n)); //求平均数并输出 printf("该分数段人数=%d\n", sta_num(a, n)); //求某分数段并输出其人数 PutMinFirst(a, n); //冒泡排序将分数从小到大排序 Print(a, n); //求某分数段并输出其人数 return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python怎么在已有视频文件后添加新帧
- ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
- ¥15 fluent里模拟降膜反应的UDF编写
- ¥15 MYSQL 多表拼接link
- ¥15 关于某款2.13寸墨水屏的问题
- ¥15 obsidian的中文层级自动编号
- ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
- ¥15 神经网络模型一直不能上GPU
- ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
- ¥20 wpf datagrid单元闪烁效果失灵