質問内容
今、八角形と多重ピラミッドを描画するプログラムを考えているのですが、全く分からず切羽詰まってしまいました。何処かご指摘いただけるところがありましたら回答よろしくお願いいたします。
辺の数によって幾つかの処理を分けていただけると幸いです。
ソースコード
int main(void) { int hen, i, j; printf("辺の数(2~5)を入力してください。 \n"); scanf_s("%d", &hen); //三角形のループ printf("三角形やな \n"); for (i = 1; i <= hen; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } rewind(stdin); getchar(); //逆三角形のループ printf("逆三角形やな \n"); for (int i = 1; i <= hen; i++) { for (int j = 1; j <= hen - (i - 1); j++) { printf("* "); } printf("\n"); } rewind(stdin); getchar(); //正方形のループ printf("正方形やな \n"); for (int i = 1; i <= hen; i++) { for (int j = 1; j <= hen; j++) { printf("*"); } printf("\n"); } rewind(stdin); getchar(); //三角旗のループ printf("三角旗やな \n"); for (i = 1; i <= hen; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } for (i = 1; i <= hen; i++) { for (j = 1; j <= hen - (i - 1); j++) { printf("*"); } printf("\n"); } rewind(stdin); getchar(); //三角形ピラミッドのループ printf("三角形ピラミッドやな \n"); for (int i = 1; i <= hen; i++) { for (int k = 1; k <= hen - i; k++) { printf(" "); } for (j = 1; j <= (i * 2) - 1; j++) { printf("* "); } printf("\n"); } rewind(stdin); getchar(); //ダイヤ形のループ printf("ダイヤやな \n"); /* 上半分 */ for (i = 0; i < hen / 2; i++) { for (j = 0; j < hen / 2 - i; j++) { printf(" "); } for (j = 0; j < i * 2 + 1; j++) { printf("*"); } printf("\n"); } /* 下半分 */ for (i = hen / 2; i >= 0; i--) { for (j = 0; j < hen / 2 - i; j++) { printf(" "); } for (j = 0; j < i * 2 + 1; j++) { printf("*"); } printf("\n"); } rewind(stdin); getchar(); //六角形のループ printf("六角形やな \n"); for (i = 0; i < hen; i++) { for (j = i; j < hen; j++) { printf(" "); } for (j = 0; j < hen + i * 2; j++) { printf("*"); } { printf("\n"); } for (i = hen; i > -1; i--) { for (j = i; j < hen; j++) { printf(" "); } for (j = 0; j < hen + i * 2; j++) { printf("*"); } printf("\n"); } rewind(stdin); getchar(); //八角形のループ printf("八角形ですねこれは \n"); for (i = 0; i <= hen; i++) { printf("*"); } printf("\n"); for (j = 0; j < hen; j++) { for (i = 0; i < ((hen * 2) + (hen - 2)) * (hen - 2); i++) { printf("*"); } { printf("\n"); } printf(" "); for (i = 0; i < hen; i++) { printf("*"); } } rewind(stdin); getchar(); //多重ピラミッドのループ printf("多重ピラミッドですね。 \n"); rewind(stdin); getchar(); { printf("終わりダヨ(^_-)-☆, \n"); } return 0; } }
回答2件
あなたの回答
tips
プレビュー