编写一个 C程序,要求用户输入学生的姓名(最多 20个字符,使用 char交量名[长度)、年龄(整型)、语文成绩、数学成绩和英语成绩(浮点型)。程序需计算并输出学生的平均成绩和总成绩,输出保留2位小数。简单一点
时间: 2024-10-17 14:07:21 浏览: 31
当然可以。首先,我们需要声明变量用于存储用户的输入,包括姓名、年龄以及各个科目的成绩。然后我们获取这些输入,并计算总成绩和平均分。这是一个简单的C程序示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 20
int main() {
char name[MAX_NAME_LENGTH];
int age;
float chinese_score, math_score, english_score, total_score, average_score;
// 获取用户输入
printf("请输入学生姓名(不超过20个字符): ");
fgets(name, MAX_NAME_LENGTH, stdin);
name[strcspn(name, "\n")] = '\0'; // 移除换行符
printf("请输入年龄: ");
scanf("%d", &age);
printf("请输入语文成绩: ");
scanf("%f", &chinese_score);
printf("请输入数学成绩: ");
scanf("%f", &math_score);
printf("请输入英语成绩: ");
scanf("%f", &english_score);
// 计算总成绩和平均分
total_score = chinese_score + math_score + english_score;
average_score = (total_score / 3.0) * 100; // 将分数转换为百分制,保留两位小数
printf("学生的姓名: %s\n", name);
printf("年龄: %d\n", age);
printf("总成绩: %.2f\n", total_score);
printf("平均成绩: %.2f%%\n", average_score);
return 0;
}
```
在这个程序中,我们通过`fgets()`读取用户输入的字符串,`scanf()`读取整数和浮点数。最后,使用`printf()`输出结果,`%.2f`用来控制浮点数的小数位数。
阅读全文