用c语言写出输入学生信息,学生信息包括学号、姓名、平时成绩、实训成绩和期末成绩,求学生的总评成绩,并统计总成绩中及格人数和及格率。(其中:总评成绩=平时成绩的%30+实训成绩的%30+期末成绩的%40)
时间: 2023-12-10 15:40:38 浏览: 150
以下是用C语言编写输入学生信息并计算总评成绩、及格人数和及格率的示例代码:
```c
#include <stdio.h>
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
int pass_num = 0; // 及格人数
for (int i = 1; i <= n; i++) {
int id; // 学号
char name[20]; // 姓名
float usual_score, practice_score, final_score, total_score; // 平时成绩、实训成绩、期末成绩、总评成绩
printf("请输入第%d个学生的信息:\n", i);
printf("学号:");
scanf("%d", &id);
printf("姓名:");
scanf("%s", name);
printf("平时成绩:");
scanf("%f", &usual_score);
printf("实训成绩:");
scanf("%f", &practice_score);
printf("期末成绩:");
scanf("%f", &final_score);
total_score = usual_score * 0.3 + practice_score * 0.3 + final_score * 0.4; // 计算总评成绩
printf("总评成绩:%.2f\n", total_score);
if (total_score >= 60) { // 判断及格
pass_num++;
}
}
float pass_rate = (float)pass_num / n * 100; // 计算及格率
printf("及格人数:%d\n", pass_num);
printf("及格率:%.2f%%\n", pass_rate);
return 0;
}
```
运行示例:
```
请输入学生人数:3
请输入第1个学生的信息:
学号:1001
姓名:张三
平时成绩:80
实训成绩:85
期末成绩:75
总评成绩:79.50
请输入第2个学生的信息:
学号:1002
姓名:李四
平时成绩:70
实训成绩:90
期末成绩:80
总评成绩:80.00
请输入第3个学生的信息:
学号:1003
姓名:王五
平时成绩:50
实训成绩:60
期末成绩:70
总评成绩:59.00
及格人数:2
及格率:66.67%
```
阅读全文