【问题描述】输入某个学生的信息(含学号,姓名,年龄,六门课程分数-高数/英语/c语言/工程制图/大学物理/信息论,它们的课程积分分别为4/3/4/3/3/3),计算课程总积分。 【输入形式】 学号 姓名 年龄 课程分数 【输出形式】 学号 姓名 年龄 课程总积分 【样例输入】 18201819 zhangone 20 90 57 81 85 79 91 【样例输出】 18201819 zhangone 20 17用c语言
时间: 2023-06-25 12:04:09 浏览: 140
下面是一个Python的实现,可以帮助你理解这道题目:
```python
score_weight = [4, 3, 4, 3, 3, 3] # 课程积分权重
# 输入学生信息
info = input().split()
student_id, name, age = info[0], info[1], info[2]
scores = list(map(int, info[3:]))
# 计算总积分
total_score = sum([score * weight for score, weight in zip(scores, score_weight)])
# 输出结果
print(f"{student_id} {name} {age} {total_score}")
```
我们首先定义了一个列表 `score_weight` 表示每门课程的积分权重,然后通过 `input()` 函数获取用户输入的学生信息。接着,我们使用 `split()` 函数将输入的字符串分割为一个列表 `info`,其中第一个元素是学号,第二个元素是姓名,第三个元素是年龄,剩余的元素是六门课程的分数。
然后,我们使用 `map()` 函数将剩余的元素从字符串转换为整数,并使用 `zip()` 函数将每门课程的分数和对应的积分权重组合在一起。最后,我们使用列表推导式计算每门课程的积分贡献,再用 `sum()` 函数求和得到总积分。
最后,我们使用 `print()` 函数输出结果,格式化字符串中的变量用 `{}` 表示。
相关问题
c语言:输入某个学生的信息(含学号,姓名,年龄,六门课程分数-高数/英语/c语言/工程制图/大学物理/信息论,它们的课程积分分别为4/3/4/3/3/3),计算课程总积分。 【输入形式】 学号 姓名 年龄 课程分数 【输出形式】 学号 姓名 年龄 课程总积分
以下是代码实现:
```c
#include <stdio.h>
int main() {
int id, age;
char name[20];
float math_score, eng_score, c_score, graph_score, physics_score, info_score;
float total_score;
printf("请输入学生信息(学号 姓名 年龄 高数英语c语言工程制图大学物理信息论分数):\n");
scanf("%d %s %d %f %f %f %f %f %f", &id, name, &age, &math_score, &eng_score, &c_score, &graph_score, &physics_score, &info_score);
total_score = math_score*4 + eng_score*3 + c_score*4 + graph_score*3 + physics_score*3 + info_score*3;
printf("学号:%d\n姓名:%s\n年龄:%d\n课程总积分:%.2f\n", id, name, age, total_score);
return 0;
}
```
这段代码实现了输入某个学生的信息(包括学号、姓名、年龄、六门课程分数)并计算课程总积分。通过 `scanf` 函数获取输入信息,然后将每个科目的分数乘以对应的课程积分后相加得到总积分,最后输出学生的信息和课程总积分。
输入某个学生的信息(含学号,姓名,年龄,六门课程分数-高数/英语/c语言/工程制图/大学物理/信息论,它们的课程学分分别为4/3/4/3/3/3,计算课程总学分。c语言结构体代码
下面是一个简单的 C 语言结构体代码,用于输入学生信息并计算总学分:
```c
#include <stdio.h>
struct student {
int id;
char name[20];
int age;
float math_score;
float english_score;
float c_score;
float engineering_score;
float physics_score;
float information_score;
};
int main() {
struct student s;
float total_credits;
printf("Enter student ID: ");
scanf("%d", &s.id);
printf("Enter student name: ");
scanf("%s", s.name);
printf("Enter student age: ");
scanf("%d", &s.age);
printf("Enter math score: ");
scanf("%f", &s.math_score);
printf("Enter English score: ");
scanf("%f", &s.english_score);
printf("Enter C score: ");
scanf("%f", &s.c_score);
printf("Enter engineering score: ");
scanf("%f", &s.engineering_score);
printf("Enter physics score: ");
scanf("%f", &s.physics_score);
printf("Enter information score: ");
scanf("%f", &s.information_score);
// 计算总学分
total_credits = 4 * s.math_score + 3 * s.english_score + 4 * s.c_score +
3 * s.engineering_score + 3 * s.physics_score +
3 * s.information_score;
printf("Total credits: %f\n", total_credits);
return 0;
}
```
阅读全文