根据题目写一串c语言代码。题目描述:先录入n个学生信息,包括学生的学号和期末考试总成绩。再给定某学生学号,查找是否有该学生的相应信息。输入要求:第一行输入一个整数n(n<100),表示有n个学生; 后面n行输入这n个学生的信息,内容分别为学号和分数;接下来一行输入所要查询的学生学号。 输出要求:输出该学号学生的成绩,如无匹配学号,则输出“No found!”。(输出不包含引号) 输入样例: 4 084110 100 084111 98 084112 97 084113 99 084111 输出样例: 98
时间: 2024-03-05 18:52:35 浏览: 65
以下是符合您要求的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n, score, i;
char id[20], query[20];
scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("%s %d", id, &score);
}
scanf("%s", query);
for(i=0; i<n; i++) {
scanf("%s %d", id, &score);
if(strcmp(id, query) == 0) {
printf("%d", score);
return 0;
}
}
printf("No found!");
return 0;
}
```
代码中先使用 scanf 函数读取输入的 n,表示有 n 个学生。然后使用 for 循环读取每个学生的学号和成绩,但只保留最后一个学生的信息,因为前面的学生信息对于题目并没有实际作用。接下来,使用 scanf 函数读取要查询的学生学号,然后使用 for 循环遍历所有学生信息,如果找到了匹配的学生学号,则输出该学生的成绩并结束程序,否则输出“No found!”。在比较学号是否相同时,使用了 strcmp 函数进行比较。
相关问题
。打一串c语言代码。先录入n个学生信息,包括学生的学号和期末考试总成绩。再给定某学生学号,查找是否有该学生的相应信息。第一行输入一个整数n(n<100),表示有n个学生; 后面n行输入这n个学生的信息,内容分别为学号和分数;接下来一行输入所要查询的学生学号。输出该学号学生的成绩,如无匹配学号,则输出“No found!”。(输出不包含引号)
以下是符合要求的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_N 100
struct student {
char id[10];
int score;
};
int main() {
int n;
struct student students[MAX_N];
char query_id[10];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s %d", students[i].id, &students[i].score);
}
scanf("%s", query_id);
int found = 0;
for (int i = 0; i < n; i++) {
if (strcmp(query_id, students[i].id) == 0) {
printf("%d", students[i].score);
found = 1;
break;
}
}
if (!found) {
printf("No found!");
}
return 0;
}
```
该程序首先定义了一个结构体`student`,包含学生的学号和期末考试总成绩。然后从标准输入读入学生数量`n`,并依次读入每个学生的信息,存储在一个长度为`n`的结构体数组中。最后从标准输入读入要查询的学生学号`query_id`,并遍历结构体数组,查找是否有该学生的相应信息。如果查找成功,则输出该学号学生的成绩;否则输出"No found!"。
先录入n个学生信息,包括学生的学号和期末考试总成绩,再给定某学生学号,查找是否有改学生的相应信息用c语言进行编译
以下是一个简单的实现,使用结构体来存储学生信息:
```c
#include <stdio.h>
#define MAX_SIZE 100
// 学生结构体
struct Student {
int id; // 学号
int score; // 总成绩
};
int main() {
struct Student students[MAX_SIZE]; // 存储所有学生信息的数组
int n, search_id, i;
printf("请输入学生人数:");
scanf("%d", &n);
// 输入学生信息
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的学号和期末考试总成绩(用空格隔开):", i+1);
scanf("%d %d", &students[i].id, &students[i].score);
}
// 查找学生信息
printf("请输入要查找的学生学号:");
scanf("%d", &search_id);
for (i = 0; i < n; i++) {
if (students[i].id == search_id) {
printf("学生%d的期末考试总成绩为%d分。\n", students[i].id, students[i].score);
break;
}
}
if (i == n) {
printf("没有找到该学生的信息。\n");
}
return 0;
}
```
注意,此处假设输入的学号是唯一的,如果有重复的学号,只会查找到第一个匹配的学生信息。如果需要查找多个相同学号的学生信息,可以考虑将查找到的学生信息存储到一个新的数组中。
阅读全文