大一c语言期末考试编程题
时间: 2025-01-27 15:07:31 浏览: 73
### 大一C语言期末考试编程题示例
#### 题目1:成绩计算
编写一个程序,从键盘按顺序输入某学生的工科数学、英语和线性代数成绩,计算并输出其学分绩。
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int mat1, mat2, eng;
printf("Input math1, English and math2:");
scanf("%d %d %d", &mat1, &eng, &mat2);
float final_score = (mat1 * 5 + eng * 1.5 + mat2 * 3.5) / 10;
printf("Final score = %.2f\n", final_score);
return 0;
}
```
此代码实现了根据给定权重计算三门课程的成绩总评分数[^3]。
#### 题目2:递归求和
编写一个程序,使用递归函数计算从1到n的自然数之和。实现函数`int sum(int n)`,该函数接收一个整数参数n并返回从1到n的自然数之和。
```c
#include <stdio.h>
// 定义递归函数sum
int sum(int n){
if (n == 1){
return 1;
} else{
return n + sum(n - 1);
}
}
int main(){
int number;
printf("Enter a positive integer: ");
scanf("%d", &number);
printf("Sum of first %d natural numbers is: %d\n", number, sum(number));
return 0;
}
```
这段代码展示了如何通过递归来累加一系列连续正整数值的方法[^5]。
#### 题目3:奖学金评定
假设学生有如下属性:姓名name、最终得分finalScore、班级排名classRank等。请完成一段简单的逻辑判断,当满足特定条件时授予相应等级的奖学金。
```c
struct Student {
char name[20];
int finalScore;
};
void evaluateScholarship(struct Student s[]) {
for (int i = 0; i < sizeof(s)/sizeof(s[0]); ++i) {
if (s[i].finalScore >= 90 && s[i].finalScore <= 100) {
printf("%s gets First Class Scholarship.\n", s[i].name);
} else if (s[i].finalScore >= 80 && s[i].finalScore < 90) {
printf("%s gets Second Class Scholarship.\n", s[i].name);
} else if (s[i].finalScore >= 70 && s[i].finalScore < 80) {
printf("%s gets Third Class Scholarship.\n", s[i].name);
} else {
printf("%s does not get any scholarship.\n", s[i].name);
}
}
}
```
上述例子中定义了一个结构体用于存储学生信息,并提供了一种基于成绩范围分配不同级别奖助学金的方式[^2]。
阅读全文
相关推荐


















