编写代码,计算班级优秀率和及格率。要求:班级总人数N定义为常量,用scanf函数分别输入优秀和及格的人数,输出格式:例如“优秀率=10%,及格率=95%”
时间: 2024-03-08 07:50:51 浏览: 17
好的,以下是代码实现:
```c
#include <stdio.h>
#define N 50 //班级总人数为50人
int main()
{
int excellent, pass; //定义优秀和及格的人数
float excellent_rate, pass_rate; //定义优秀率和及格率
printf("请输入优秀的人数:");
scanf("%d", &excellent);
printf("请输入及格的人数:");
scanf("%d", &pass);
excellent_rate = (float)excellent / N * 100; //计算优秀率
pass_rate = (float)pass / N * 100; //计算及格率
printf("优秀率=%.2f%%,及格率=%.2f%%\n", excellent_rate, pass_rate); //输出结果,保留两位小数
return 0;
}
```
运行程序,输入优秀和及格的人数,程序会自动计算优秀率和及格率,并输出结果。
相关问题
编写C语言程序,定义数组用于存放10个学生的分数,计算输出平均分和及格率
以下是一个简单的程序示例:
```c
#include <stdio.h>
#define NUM_STUDENTS 10 // 学生数量
int main() {
int scores[NUM_STUDENTS]; // 分数数组
int total_score = 0; // 总分数
int num_pass = 0; // 及格人数
// 输入分数
printf("请输入%d个学生的分数:\n", NUM_STUDENTS);
for (int i = 0; i < NUM_STUDENTS; i++) {
scanf("%d", &scores[i]);
total_score += scores[i];
if (scores[i] >= 60) {
num_pass++;
}
}
// 计算平均分和及格率
float avg_score = (float)total_score / NUM_STUDENTS;
float pass_rate = (float)num_pass / NUM_STUDENTS;
// 输出结果
printf("平均分为:%.2f\n", avg_score);
printf("及格率为:%.2f%%\n", pass_rate * 100);
return 0;
}
```
程序首先定义了一个长度为10的数组 `scores` 用于存放学生的分数。然后通过循环输入每个学生的分数,并计算总分数和及格人数。接着计算平均分和及格率,并最终输出结果。
编写C语言程序,定义数组存放10个学生的分数,并计算出平均分和及格率
下面是一个示例程序,可以实现你的要求:
```c
#include <stdio.h>
#define NUM_STUDENTS 10
#define PASSING_SCORE 60
int main() {
int scores[NUM_STUDENTS];
int i, sum = 0, num_passing = 0;
// 读入学生分数
printf("请输入%d个学生的分数:\n", NUM_STUDENTS);
for (i = 0; i < NUM_STUDENTS; i++) {
printf("学生%d:", i + 1);
scanf("%d", &scores[i]);
// 计算总分和及格人数
sum += scores[i];
if (scores[i] >= PASSING_SCORE) {
num_passing++;
}
}
// 计算平均分和及格率
float average = (float)sum / NUM_STUDENTS;
float pass_rate = (float)num_passing / NUM_STUDENTS * 100;
// 输出结果
printf("平均分:%.2f\n及格率:%.2f%%\n", average, pass_rate);
return 0;
}
```
这个程序中,我们使用了一个整型数组 `scores` 来存储学生的分数。在读入分数的同时,我们累加总分和及格人数。最后,通过总分和学生人数来计算平均分,通过及格人数和学生人数来计算及格率。最后,输出结果即可。