按c语言 百分制输入学生的考试分数,统计及格率。
时间: 2023-05-19 10:07:08 浏览: 112
可以使用以下代码实现:
#include <stdio.h>
int main() {
int score, pass_count = 0, total_count = 0;
float pass_rate;
printf("请输入学生的考试分数(输入-1结束):\n");
while (1) {
scanf("%d", &score);
if (score == -1) {
break;
}
total_count++;
if (score >= 60) {
pass_count++;
}
}
pass_rate = (float)pass_count / total_count * 100;
printf("及格率为:%.2f%%\n", pass_rate);
return 0;
}
相关问题
C语言统计考试分数的及格率
以下是一个用C语言编写的程序,可以计算考试分数的及格率:
```
#include <stdio.h>
int main() {
int num, count = 0, pass = 0;
float score;
printf("请输入考生人数:");
scanf("%d", &num);
for (int i = 0; i < num; i++) {
printf("请输入第%d位考生的分数:", i + 1);
scanf("%f", &score);
if (score >= 60) {
pass++;
}
count++;
}
float rate = (float) pass / count * 100;
printf("考试总人数:%d\n及格人数:%d\n及格率:%.2f%%", count, pass, rate);
return 0;
}
```
程序的思路是首先让用户输入考生人数,然后通过循环依次输入每位考生的分数,并统计及格人数和总人数。最后计算及格率并输出结果。
注意在计算及格率时,需要先将通过人数和总人数都转换成float类型,再相除,并将结果乘以100,才能得到正确的百分比值。同时,输出结果保留两位小数,可以使用`%.2f`格式控制符。
输入n个学生的姓名和百分制成绩,分段统计学生的成绩 C语言
下面是一个简单的 C 语言程序,可以输入 n 个学生的姓名和成绩,并进行成绩分段统计:
```c
#include <stdio.h>
#include <string.h>
#define NUM_GRADES 5
#define NUM_STUDENTS 100
int main()
{
char names[NUM_STUDENTS][20];
int grades[NUM_STUDENTS];
int count[NUM_GRADES] = {0};
int n;
printf("请输入学生人数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名和成绩:", i+1);
scanf("%s %d", names[i], &grades[i]);
if (grades[i] >= 90) {
count[0]++;
} else if (grades[i] >= 80) {
count[1]++;
} else if (grades[i] >= 70) {
count[2]++;
} else if (grades[i] >= 60) {
count[3]++;
} else {
count[4]++;
}
}
printf("成绩分布情况如下:\n");
printf("90分及以上:%d人\n", count[0]);
printf("80分至89分:%d人\n", count[1]);
printf("70分至79分:%d人\n", count[2]);
printf("60分至69分:%d人\n", count[3]);
printf("60分以下:%d人\n", count[4]);
return 0;
}
```
程序中,我们定义了一个二维字符数组 `names`,用来存储学生的姓名,一个整型数组 `grades`,用来存储学生的成绩,以及一个整型数组 `count`,用来存储每个成绩段的人数。
我们首先通过 `scanf` 函数输入学生的人数,然后通过循环输入每个学生的姓名和成绩,并根据成绩的大小,将学生分入对应的成绩段中,统计人数。
最后,我们输出每个成绩段的人数。