// // 小林一茶の俳句作りゲーム // // 春風や牛に引かれて善光寺    (はるかぜや うしにひかれて ぜんこうじ) // やれ打つな蝿が手をする足をする (やれうつな はえがてをする あしをする) // #include #include #include int main(void) { char * x[10]; x[ 0] = "春風や "; x[ 1] = "牛に "; x[ 2] = "引かれて "; x[ 3] = "善光寺 "; x[ 4] = "(改行)\n"; x[ 5] = "やれ打つな "; x[ 6] = "蝿が "; x[ 7] = "手をする "; x[ 8] = "足をする "; x[ 9] = "(改行)\n"; int i, n, m; char * y; srand((unsigned int)time(0));// 乱数の種を現在時刻から作ります。 for (i = 0; i < 100; i ++) { // ランダムに並べ替えます。 n = rand() % 10; // nは0から9までの数値 m = rand() % 10; // mは0から9までの数値 y = x[n]; // x[n]とx[m]を入れ替えます。 x[n] = x[m]; x[m] = y; } printf("小林一茶の俳句にしてください。\n"); do { printf("\n"); for (i = 0; i <= 9; i ++) { // 現在の状態を番号付きで表示します。 printf("[%2d]%s", i, x[i]); } printf("\n\n"); printf("何番と何番を入れ替えますか?\n"); printf("2つの数値を空白で区切って入力してください。\n"); printf(" ※同じ番号を入れると終わります。\n"); scanf("%d %d", &n, &m); y = x[n]; x[n] = x[m]; x[m] = y; } while (n != m); printf("できあがった俳句は,つぎのとおりです。\n\n"); for (i = 0; i <= 9; i ++) { printf("%s", x[i]); } printf("\n\n"); }