• 締切済み

○△□の模様

正の整数を入力してその数値の幅だけの正方形をの模様になるように作成する方法(法則性は実行例2を参照、非負の整数が入力された場合は再入力を促す)はどうするのですか? 実行例1 幅:1○ 実行例2 幅:5 ○△□○△ △□○△□ □○△□○ ○△□○△ △□○△□ 実行例3 幅:0 非負の整数を入力してください。 幅:3 ○△□ △□○ □○△

みんなの回答

回答No.1

#include <stdio.h> void print_pattern(int offset, int length) { static const char* pattern[] = { "○", "△", "□" }; int i; for ( i = 0; i < length; ++i ) { printf("%s", pattern[(offset+i)%3]); } putchar('\n'); } void print_square(int n) { int i; for ( int i = 0; i < n; ++i ) { print_pattern(i, n); } } int main() { int i; for ( i = 0; i < 6; ++i ) { printf("\n%d:\n", i); print_square(i); } return 0; } ※ これが宿題/課題なら、   すべての行に対し”なぜこう書いたか”を説明できるまでは提出するな。

関連するQ&A

専門家に質問してみよう