c - 是否可以随机打印结构?
问题描述
我的项目很简单。这只是一个有用户输入的问答游戏。至于问题和答案,我使用了一个文件将它们保存为数据库。我还定义了一个结构:
typedef struct QUESTION
{
char question[MAXCARACTERES];
char answer1[MAXCARACTERES];
char answer2[MAXCARACTERES];
char answer3[MAXCARACTERES];
char answer4[MAXCARACTERES];
} QUESTION;
我想知道是否有可能随机打印答案。否则,正确的人总是留在同一个地方。
提前致谢!
解决方案
我将 William Pursell 的评论变成了答案。您无法运行代码,因为缺少答案和其他一些东西,但它应该可以工作。
typedef struct QUESTION
{
char question[MAXCARACTERES];
char answer[4][MAXCARACTERES];
} QUESTAO;
void randPerm( int *surp );
int main() {
int surprise[4] = {0, 1, 2, 3};
randPerm( surprise );
for(int i = 0; i < 4; i++) {
printf("%s\n", QUESTAO.answer[surprise[i]])
}
return 0;
}
void randPerm( int *surp )
{
for(int i = 4; i > 1; i--) {
int luck = rand() % i;
int hold = surp[luck];
surp[luck] = surp[i-1];
surp[i-1] = hold;
}
}
推荐阅读
- vue.js - Atom 的 VueJS 设置
- r - 使用 dplyr 对 R 中的所有列应用 iqr 过滤器
- node.js - Sequelize 将类方法移动到单个文件
- javascript - JSDoc:在另一个@param 中引用方法的@param
- angular - Angular 6 - 使用 Chrome 缓慢打开 Mat-Dialog
- c++ - 试图编译 googletest 但出现以下错误:'::OpenThread' 尚未声明
- ios - 快速在右栏按钮项中添加徽章警报
- c# - MySQL C# 错误;“连接必须有效且打开”
- c - vxWorks 6.9下的shell会话和调试printf
- c - 如何在 Linux 上为 gcc 制作一个简单的 makefile