求贪吃蛇c语言代码_求这个C语言代码怎么写

原问题:求这个C语言代码怎么写
分类:编程开发 > 最后更新时间:【2016-12-21 18:34:51】
问题补充:

试题描述 输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用函数编程统计不及格人数。输入 输入包含两行: 第一行是一个整数n,表示班级人数。 第二行是n个整数,表示n个学生的成绩,相邻两项之间用一个空格隔开。输出 输出不及格人数。

最佳答案

根据题主的要求,我稍微加入了一点人机交互的环节。截图如下:

如图可知,第1次输入超过了人数上限,所以给予报错显示。之后则正常输入学生成绩并予以统计。程序本身不复杂,我也加入了部分注释。具体代码如下:

#include <stdio.h>
// 最大学生数
#define MAX_STU (40)
// 及格线
#define DEAD_LINE (60)

// 声明统计不及格人数的函数
int failed_num(float[], int);

int main(void) {
int i; // 计数器
int num_of_stu; // 实际的学生数量
int loop_flag = 1; // 循环条件
float scores[MAX_STU]; // 存储学生成绩

do {
// 获得实际的学生数量
printf("Please input the number of students: ");
scanf("%d", &num_of_stu);
getchar(); // 接收stdin的Enter符号

// 判断录入的数量是否超过上限
if (num_of_stu <= MAX_STU) {
loop_flag = 0; // 终止循环
// 录入每名学生的成绩
for (i=0; i<num_of_stu; i++) {
printf("#%d Student's score: ", i+1);
scanf("%f", &scores[i]);
getchar(); // 接收stdin的Enter符号
}
} else {
// 打印错误信息
printf("\tError: more than upper bound(%d).\n\n", MAX_STU);
}
} while (loop_flag);

// 统计不及格人数
int num = failed_num(scores, num_of_stu);
printf("\nThe number of failed is %d.\n", num);

return 0;
}

int failed_num(float scores[], int num_of_stu) {
int num = 0;
int i;
for (i=0; i<num_of_stu; i++) {
if (scores[i] < DEAD_LINE)
++num;
}
return num;
}

最佳答案由网友  grass_rt  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
8

分享到:

其他回答

暂无其它回答!

    推荐
  • 求贪吃蛇c语言代码_C语言,求使一段代码重...