#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct {
char *chars; // 单字
int pos; // 位置
int len; // 长度
} Sentence;
// 线性表(数组)存储诗句
Sentence sentences[4];
char *tian[] = {" 天上白玉京,", " 杳杳青山外。"};
char *he[] = {" 江河横逝,", " 楼阁倒影斜。"};
char *yue[] = {" 坐望荒野色,", " 虚空万里寒。"};
char *shui[] = {" 波光摇曳,", " 佳人相慕。"};
// 随机选取句子
void randomSentence() {
srand(time(NULL));
int i;
for (i = 0; i < 4; i++) {
int n = rand() % 2; // 在两个句子中随机选择一个
if (i == 0) {
sentences[i].chars = tian[n];
sentences[i].len = 14;
} else if (i == 1) {
sentences[i].chars = he[n];
sentences[i].len = 14;
} else if (i == 2) {
sentences[i].chars = yue[n];
sentences[i].len = 12;
} else if (i == 3) {
sentences[i].chars = shui[n];
sentences[i].len = 10;
}
sentences[i].pos = 0;
}
}
// 输出诗句
void printSentence() {
int i;
for (i = 0; i < 4; i++) {
int j;
Sentence s = sentences[i];
for (j = 0; j < s.len; j++) {
putchar(s.chars[s.pos]);
s.pos = (s.pos + 1) % strlen(s.chars);
}
putchar(’\n’);
}
}
int main() {
randomSentence();
printSentence();
return 0;
}