设计一个程序,从键盘输入小于30个学生成绩,当输入为 999 时,输入完毕开始计算。功能有:按“1“计算其平均数,并输出所有小于平均数的数;按“2“从键盘上输入一个成绩,判定该成绩是否在数组中,若在则输出所在序号;按“3“统计并显示优、良、中、及格及不及格人数;按“4“显示本班级的最高分及最低分
#include<stdio.h>
int main()
{printf(" 请根据你需用的功能选择序号\n");
printf("1.计算平均数,并输出所有小于平均数的数\n") ;
printf("2.输入成绩,并判断成绩是否在数组中,若在则输出所在序号\n") ;
printf("3.统计并显示优、良、中、及格、及不及格的人数\n");
printf("4.显示本班级的最高分及最低分\n");
printf("请输入小于30个学生成绩,当输入为999时,输入完毕\n");
void action1(int);
void action2(int) ;
void action3(int);
void action4(int);
int p[30];
int i;
int a,b,c,d;
char m;
for(i=0;i<30;i++)
{scanf("%d",&p[i]);
if(p[i]==999)
printf("输入完毕\n");}
printf("请输入你想查询的序号\n");
m=getchar();
switch(m)
{
case '1':action1(a);break;
case '2':action2(b);break;
case '3':action3(c);break;
case '4':action4(d);break;
default:printf("请重新输入数字");
return 0;}
}
void actional()
{int p[30];
int i;
float aver;
int sum=0;
for(i=0;i<30;i++)
if(p[i]!=999)
sum=sum+p[i];
else break;
aver=sum/i;
printf("%5.2f\n",aver);
for(i=0;i<30;i++)
if(p[i]<aver)
printf("%d\n",&p[i]);
}
void actiona2()
{int p[30];
int m,n,i;
for(i=0;i<30;i++)
if(p[i]==999) break;
scanf("
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
C++程序设计 后面搞不来了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 浪客 2022-06-04 18:05关注
#include <stdio.h> void menu() { printf(" 请根据你需用的功能选择序号\n"); printf("1.计算平均数,并输出所有小于平均数的数\n"); printf("2.输入成绩,并判断成绩是否在数组中,若在则输出所在序号\n"); printf("3.统计并显示优、良、中、及格、及不及格的人数\n"); printf("4.显示本班级的最高分及最低分\n"); printf("5.退出\n"); } void action1(int *a, int len) { float ave = 0; int i; for (i = 0; i < len; i++) ave += a[i]; ave /= len; printf("平均数为%.2f,小于平均数的数为:\n", ave); for (i = 0; i < len; i++) { if (a[i] < ave) printf("%d ", a[i]); } printf("\n"); } void action2(int *a, int len) { int t, i, ishav = 0; scanf("%d", &t); for (i = 0; i < len; i++) { if (a[i] == t) { printf("%d ", i); ishav = 1; } } if (ishav == 0) printf("不存在该成绩\n"); printf("\n"); } void action3(int *a, int len) { int i; int y, l, z, j, bj; y = l = z = j = bj = 0; for (i = 0; i < len; i++) { if (a[i] >= 90) y++; else if (a[i] < 90 && a[i] >= 80) l++; else if (a[i] < 80 && a[i] >= 70) z++; else if (a[i] < 70 && a[i] >= 60) j++; else if (a[i] < 60) bj++; } printf("优:%d 良:%d 中:%d 及格:%d 不及格:%d\n", y, l, z, j, bj); printf("\n"); } void action4(int *a, int len) { int i, max, min; max = min = *a; for (i = 1; i < len; i++) { if (a[i] > max) max = a[i]; if (a[i] < min) min = a[i]; } printf("最高分:%d 最低分:%d\n", max, min); printf("\n"); } int main() { printf("请输入小于30个学生成绩,当输入为999时,输入完毕\n"); int p[30], count = 0, t; for (count = 0; count < 30; count++) { scanf("%d", &t); if (t == 999) { printf("输入完毕\n"); break; } p[count] = t; } do { menu(); scanf("%d", &t); switch (t) { case 1: action1(p, count); break; case 2: action2(p, count); break; case 3: action3(p, count); break; case 4: action4(p, count); break; case 5: break; default: printf("请重新输入数字\n"); } } while (t != 5); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 VESTA绘图原子颜色显示异常
- ¥15 天翼云搭建多ip l2tp
- ¥30 matlab求解刃位错方程
- ¥15 python实现CAD识图
- ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
- ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
- ¥20 单细胞数据注释时报错
- ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)
- ¥15 通过AT指令控制esp8266发送信息
- ¥15 有哪些AI工具提供可以通过代码上传EXCEL文件的API接口,并反馈分析结果