実現したいこと
1.C言語を使って任意の値を入力します。
2.値のぶんだけ文字を表示します。
3.表示する4文字はハイフン(-)として5文字目はアスタリスク(*)を表示します。
値:5
表示:----*
値:10
表示:----*----*
値:15
表示:----*----*----*
前提
visual studio2022を使用しています
発生している問題
意図したとおりに表示できないです。
なお、私が書いた下記2つのソースコードについて、どのように表示されるか、ソースコード末尾の実行結果をご覧ください。
該当のソースコード
C
1#include<stdio.h> 2int main(void) { 3 int input = 0; 4 printf("値:"); scanf_s("%d", &input); 5 6 while (input > 0) { 7 if (input % 5 == 0) { 8 printf("-"); 9 10 }else{ 11 printf("*"); 12 } 13 input--; 14 } 15 return 0; 16} 17//実行結果 18//値:10 19//*----*---- 20//*の表示位置が意図どおりでない
試したこと
コードを最初から書き換えてみましたが、意図した表示になりません
C
1#include<stdio.h> 2int main(void) { 3 int input = 0, i = 0 , j = 0; 4 printf("値:"); scanf_s("%d", &input); 5 6 while (1) { 7 while (1) { 8 i++; 9 if (i > 4)break; 10 printf("-"); 11 12 } 13 j = i; 14 j++; 15 printf("*"); 16 if (j > input)break; 17 } 18 return 0; 19} 20//実行結果 21//値:10 22//----****** 23//*の表示位置が意図どおりでない

回答6件
あなたの回答
tips
プレビュー