解题思路:编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。
注意事项: 用一个一维数组储存 用一个if语句和break结束循环 excellent pass fail
参考代码:
#include <stdio.h> //本题没什么难度,关键就俩点,1储存一组数据,常用的解决方法就是定义一个常变量(#define N 100)
// 2当数据为0时跳出循环,采用if语句配合break语句就行了,break是直接跳出整个循环,而continue是跳出本次 //循环
#define N 100
int main()
{
int a[N],i, excellent=0,pass=0,fail=0;//变量的初始化
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(a[i]==0||a[i]<0) break; //遇0或负数则输入结束 ,可直接用if(a[i]<=0),这里方便理解
else if(a[i]>=85) excellent++;
else if(a[i]<85&&a[i]>59) pass++;
else if(a[i]<60) fail++;
}
printf(">=85:%d\n60-84:%d\n<60:%d",excellent,pass,fail); //输出,需要换行符\n
}
小伙伴们,你们可以尝试不使用数组哦
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复