c语言已知某课程的平时、实习、测验和期末成绩,求该课程的总评成绩。其中平时、实习、 测验和期末分别占 10%、20%、20%、50%。 /*功能:从键盘上循环输入某课程的平时、实习、测验和期末成绩,按 10%,20%,
时间: 2023-11-08 07:49:53 浏览: 32
你可以使用如下的C语言代码来计算课程的总评成绩:
```c
#include <stdio.h>
int main() {
float dailyGrade, internshipGrade, quizGrade, finalGrade, totalGrade;
printf("请输入平时成绩:");
scanf("%f", &dailyGrade);
printf("请输入实习成绩:");
scanf("%f", &internshipGrade);
printf("请输入测验成绩:");
scanf("%f", &quizGrade);
printf("请输入期末成绩:");
scanf("%f", &finalGrade);
totalGrade = dailyGrade * 0.1 + internshipGrade * 0.2 + quizGrade * 0.2 + finalGrade * 0.5;
printf("该课程的总评成绩为:%.2f\n", totalGrade);
return 0;
}
```
这段代码首先需要从键盘上循环输入平时、实习、测验和期末成绩。然后,根据给出的权重计算总评成绩,并输出结果。注意,`%.2f`是用来保留两位小数的格式控制符,你可以根据需要进行调整。
相关问题
写一段c语言代码,调用search函数,输入学号,查询学生平时成绩和期末成绩
好的,以下是一段简单的C语言代码,可以调用search()函数查询学生的平时成绩和期末成绩:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char name[20];
int id;
float score1; // 平时成绩
float score2; // 期末成绩
};
// 定义search函数
void search(struct Student stu[], int n, int id) {
int i;
for (i = 0; i < n; i++) {
if (stu[i].id == id) {
printf("%s的平时成绩是%.2f,期末成绩是%.2f。\n", stu[i].name, stu[i].score1, stu[i].score2);
return;
}
}
printf("没有找到学号为%d的学生。\n", id);
}
int main() {
// 定义学生数组
struct Student stu[] = {
{"张三", 1001, 80, 85.5},
{"李四", 1002, 70, 90},
{"王五", 1003, 85.5, 75},
{"赵六", 1004, 90, 80},
{"钱七", 1005, 78, 92}
};
int n = sizeof(stu) / sizeof(stu[0]); // 计算学生数组长度
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
search(stu, n, id); // 调用search函数查询学生平时成绩和期末成绩
return 0;
}
```
运行程序后,输入要查询的学生学号即可查询该学生的平时成绩和期末成绩。
c语言编写程序:要求输入三个学生的姓名、平时 、实习、测验和期末成绩,保存到结构体数组中。求每个学生的总评成绩(其中平时、实习、 测验和期末分别占10% 20%. 20%、50%) 输出总评成绩最高的学生的姓名及总评成绩(保留小数点后2位)
好的,这是一个比较典型的使用结构体数组的问题,下面是一份参考代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 3
struct student {
char name[20];
float usual_grade;
float internship_grade;
float test_grade;
float final_grade;
float total_grade;
};
int main() {
struct student students[NUM_STUDENTS];
int i;
float max_grade = -1.0;
char max_name[20];
for (i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的平时成绩:", i+1);
scanf("%f", &students[i].usual_grade);
printf("请输入第%d个学生的实习成绩:", i+1);
scanf("%f", &students[i].internship_grade);
printf("请输入第%d个学生的测验成绩:", i+1);
scanf("%f", &students[i].test_grade);
printf("请输入第%d个学生的期末成绩:", i+1);
scanf("%f", &students[i].final_grade);
students[i].total_grade = students[i].usual_grade * 0.1 + students[i].internship_grade * 0.2 + students[i].test_grade * 0.2 + students[i].final_grade * 0.5;
if (students[i].total_grade > max_grade) {
max_grade = students[i].total_grade;
strcpy(max_name, students[i].name);
}
}
printf("总评成绩最高的学生是%s,总评成绩为%.2f\n", max_name, max_grade);
return 0;
}
```
在这个代码中,我们定义了一个结构体 `student`,包含了学生的姓名和各项成绩。在 `main()` 函数中,我们首先定义了一个结构体数组 `students`,并通过循环遍历每个学生,接收用户输入并计算总评成绩。同时,我们使用一个变量 `max_grade` 记录当前的最高总评成绩,并在每个学生输入完毕后判断是否更新最高总评成绩,如果是则更新并记录下该学生的姓名。
最后,我们输出最高总评成绩对应的学生姓名和总评成绩。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)