)创建一结构体 Struct score{ char id[10]; Int getscore; }; 创建若干结构对象,或结构数组,键盘输入各结构对象的数值,按行输出各结构对象。
时间: 2024-12-19 18:22:43 浏览: 10
在C语言中,你可以通过定义一个名为`score`的结构体来存储学生的ID和分数信息,然后创建结构体变量或数组来存储多个这样的对象。下面是如何完成这项任务的一个例子:
首先,我们定义`score`结构体:
```c
struct score {
char id[10]; // 学生ID,最多容纳9个字符加上终止符'\0'
int getscore; // 分数
};
```
接下来,我们可以创建单个结构体对象或结构体数组,允许用户输入数据:
```c
#include <stdio.h> // 包含标准输入输出头文件
void input_score(struct score* scores, int num_scores) {
for (int i = 0; i < num_scores; i++) {
printf("请输入第%d位学生ID(最多10个字符):", i + 1);
fgets(scores[i].id, sizeof(scores[i].id), stdin); // 使用fgets获取输入,包括终止符'\n'
printf("请输入第%d位学生的分数:", i + 1);
scanf("%d", &scores[i].getscore); // 获取整数分数
// 清除可能存在的换行符,如果有的话
getchar();
}
}
void output_scores(const struct score* scores, int num_scores) {
for (int i = 0; i < num_scores; i++) {
printf("学生ID:%s, 分数:%d\n", scores[i].id, scores[i].getscore);
}
}
int main() {
const int num_students = 3; // 假设我们要输入3个学生的信息
struct score students[num_students];
input_score(students, num_students);
output_scores(students, num_students);
return 0;
}
```
在这个程序中,`input_score`函数用于获取用户的输入并填充结构体数组,而`output_scores`函数则用于打印已存储的数据。
阅读全文