根据你的需求,以下是使用不同编程语言实现综合成绩计算的示例代码:
一、C语言实现(结构体数组)
```c
define MAX_STUDENTS 100
define STU_NUM 5 // 假设学生数量为5
typedef struct {
char name;
float平时成绩, 实验成绩, 期末成绩, 综合成绩;
} Student;
void calculateScore(Student *s) {
s.综合成绩 = 0.1 * s.平时成绩 + 0.2 * s.实验成绩 + 0.7 * s.期末成绩;
}
int main() {
Student students[MAX_STUDENTS];
int i;
printf("输入学生信息(输入-1结束):
");
for (i = 0; i < STU_NUM; i++) {
printf("姓名: ");
scanf("%49s", students[i].name);
scanf("%f%f%f", &students[i].平时成绩, &students[i].实验成绩, &students[i].期末成绩);
calculateScore(&students[i]);
}
printf("学生成绩表:
");
printf("%-20s %-10s %-10s %-10sn", "姓名", "平时成绩", "实验成绩", "综合成绩");
for (i = 0; i < STU_NUM; i++) {
printf("%-20s %.2f %.2f %.2fn", students[i].name, students[i].平时成绩, students[i].实验成绩, students[i].综合成绩);
}
return 0;
}
```
二、Excel公式实现
使用公式 `=A2*0.6 + B2*0.4` 计算单行综合成绩(假设A列为笔试成绩,B列为面试成绩)。
多行数据批量计算
- 使用 `SUMIF` 函数按条件求和,例如 `=SUMIF(A2:A100,"学生姓名",B2:D100)` 可根据姓名汇总成绩。
- 使用 `SUMIFS` 函数进行多条件求和,例如 `=SUMIFS(B2:D100,A2:A100,"条件1",C2:C100,"条件2")`。
三、Java实现(控制台程序)
```java
import java.util.Scanner;
class Student {
String name;
float平时成绩, 实验成绩, 期末成绩, 综合成绩;
void calculateScore() {
综合成绩 = 0.1 * 平时成绩 + 0.2 * 实验成绩 + 0.7 * 期末成绩;
}
@Override
public String toString() {
return String.format("%-20s %.2f %.2f %.2f", name, 平时成绩, 实验成绩, 综合成绩);
}
}
public class ScoreManager {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] students = new Student;
int count = 0;
while (count < 100) {
System.out.println("输入学生信息(输入-1结束):");
System.out.print("姓名: ");
String name = scanner.nextLine();
if (name.equals("-1")) break;
System.out.print("平时成绩: ");
students[count].平时成绩 = scanner.nextFloat();
System.out.print("实验成绩: ");
students[count].实验成绩 = scanner.nextFloat();
System.out.print("期末成绩: ");
students[count].期末成绩 = scanner.nextFloat();
students[count].calculateScore();
count++;
}
System.out.println("n学生成绩表:");
for (Student s : students) {
System.out.println(s);
}
scanner.close();
}
}
```
四、注意事项
数据结构选择:
根据需求选择合适的数据结构,如数组、链表或类(如C语言和Java)。
添加输入验证以确保数据的合法性。
若需持久化存储,需实现文件读写功能(如C语言的`FILE`操作或Java的`Scanner`)。
以上代码可根据具体需求进行扩展,例如添加成绩查询、统计等功能。