请给以下数组s随心赋值(值的内容自己定,符合C语法标准就可以),并把赋值结果打印出来 struct stu { char name[16]; int age; float score; }s[3];
时间: 2024-09-22 12:03:43 浏览: 39
结构体中数组成员赋值
5星 · 资源好评率100%
首先,我们可以随机地为结构体`stu`数组`s`的每个元素赋值。这里是一个示例,我们将给name设置为学生姓名,age设置为年龄,score设置为分数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要用到时间库生成随机数
// 定义随机字符串函数
char* getRandomString(int len) {
static char chars[] = "abcdefghijklmnopqrstuvwxyz0123456789"; // 可选字符集
char* str = (char*)malloc(len + 1);
if (!str) return NULL; // 检查内存分配是否成功
for (int i = 0; i < len; ++i) {
str[i] = chars[rand() % strlen(chars)];
}
str[len] = '\0'; // 结尾添加空字符
return str;
}
int main() {
srand(time(0)); // 初始化随机数种子
struct stu s[3] = {
{getRandomString(15), 18, rand() / (RAND_MAX + 1.0)}, // 假设名字长度最大15
{"Alice", 20, 90.5},
{"Bob", 19, 85.0}
};
// 打印数组中的数据
for (int i = 0; i < sizeof(s) / sizeof(s[0]); i++) {
printf("学生%d信息:\n", i+1);
printf("姓名:%s\n", s[i].name);
printf("年龄:%d\n", s[i].age);
printf("分数:%.2f\n", s[i].score);
printf("\n");
}
return 0;
}
```
这个程序会随机生成一些学生的姓名、年龄和分数,并将它们存储在`s`数组中,然后打印出这些信息。
阅读全文