利用C语言当中的结构体知识,建立学生结构体Stu,对应的属性有name(姓名),id(学号)已经存在,score(分数)。请为这些属性分配好合适的数据类型,并说明是否添加成功,添加成功则继续系统,添加不成功则退出系统
时间: 2023-06-26 20:09:55 浏览: 87
可以使用以下代码定义学生结构体Stu:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 20
typedef struct {
char name[MAX_NAME_LEN];
int id;
float score;
} Stu;
int main() {
Stu student;
// 添加学生信息
printf("请输入学生姓名:");
scanf("%s", student.name);
printf("请输入学号:");
scanf("%d", &student.id);
printf("请输入分数:");
scanf("%f", &student.score);
// 输出学生信息
printf("学生姓名:%s\n", student.name);
printf("学号:%d\n", student.id);
printf("分数:%f\n", student.score);
return 0;
}
```
在上述代码中,我们使用了结构体定义学生信息,并使用了`typedef`关键字定义了`Stu`类型的别名。然后,我们定义了一个`Stu`类型的变量`student`来存储学生信息。接着,通过`scanf()`函数从用户输入中获取学生信息,并将其赋值给`student`变量的各个属性。最后,使用`printf()`函数输出学生信息。
在本例中,我们为`name`属性分配了一个`char`类型的数组,用于存储学生姓名;为`id`属性分配了一个`int`类型的变量,用于存储学号;为`score`属性分配了一个`float`类型的变量,用于存储分数。
如果输入数据时超过了数组长度,或者输入的数据类型与属性类型不匹配,就会导致添加不成功。此时,程序会输出错误信息并退出系统。
阅读全文