用c语言,有50个学生,要求将他们之中成绩在80分(含)以上的学号和成绩输出。
时间: 2023-09-26 08:06:39 浏览: 119
### 回答1:
可以使用下面的程序:#include <stdio.h>int main(){
// 定义50个学生的学号数组和成绩数组
int stu_num[50] = {};
float stu_score[50] = {};
// 从键盘输入学号和成绩
for(int i=0; i<50; i++){
printf("请输入第%d个学生的学号和成绩:", i+1);
scanf("%d %f", &stu_num[i], &stu_score[i]);
}
// 输出学号和成绩在80分(含)以上的学生信息
for(int i=0; i<50; i++){
if(stu_score[i] >= 80){
printf("学号:%d,成绩:%.2f\n", stu_num[i], stu_score[i]);
}
}
return 0;
}
### 回答2:
要实现这个功能,可以使用C语言中的数组和循环结构。下面是一个简单的例子:
```c
#include <stdio.h>
#define NUM_STUDENTS 50
#define PASSING_GRADE 80
int main() {
int student_id[NUM_STUDENTS]; // 用于存放学号的数组
int student_grade[NUM_STUDENTS]; // 用于存放成绩的数组
// 输入学生的学号和成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第 %d 位学生的学号:", i + 1);
scanf("%d", &student_id[i]);
printf("请输入第 %d 位学生的成绩:", i + 1);
scanf("%d", &student_grade[i]);
}
// 输出成绩在80分(含)以上的学号和成绩
printf("成绩在80分及以上的学生有:\n");
for (int i = 0; i < NUM_STUDENTS; i++) {
if (student_grade[i] >= PASSING_GRADE) {
printf("学号:%d 成绩:%d\n", student_id[i], student_grade[i]);
}
}
return 0;
}
```
运行程序后,依次输入50个学生的学号和成绩。程序将会输出成绩在80分及以上的学生的学号和成绩信息。
### 回答3:
使用C语言可以使用数组和for循环来解决此问题。假设学号和成绩分别存储在两个数组中,如下所示:
```c
#include <stdio.h>
int main() {
int studentID[50] = {1, 2, 3, ...}; // 学号数组,此处省略具体数据
int score[50] = {85, 90, 75, ...}; // 成绩数组,此处省略具体数据
printf("学号\t成绩\n");
for (int i = 0; i < 50; i++) {
if (score[i] >= 80) {
printf("%d\t%d\n", studentID[i], score[i]);
}
}
return 0;
}
```
上述代码中,我们声明了两个长度为50的数组studentID和score,分别存储学生的学号和成绩。在for循环中,我们遍历了所有的学生,并使用if条件语句筛选出成绩在80分及以上的学生,并将其学号和成绩输出。
最后,我们使用printf函数输出符合条件的学号和成绩,输出的格式为"学号\t成绩",其中"\t"表示制表符,用于对齐输出。你可以根据实际需要修改数组中的具体数据,并根据需要调整输出的格式。