- ベストアンサー
swich文を使って・・・
swich文を使って、標準入力された数値を3で割った余りが 0のとき「hello world」 1のとき「こんにちわ」 2のとき「おつかれさまです」 と表示される、プログラムを作れ。 という問題なんですが、よく分かりません。 一応作ってみたんですが、違っているようです。。。 #include <stdio.h> void main(void) { int a,b,c,d; printf("数字を入力してください"); scanf("%d",&a); swich(a) { case 'b': printf("hello world",b=a%3==0); break; case 'c': printf("こんにちわ",c=a%3==0); break; case 'd': printf("おつかれさまです",d=a%3==0); break; } }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
上記のプログラムでは 98を入れると"hello world" 99を入れると"こんにちわ" 100を入れると"おつかれさま" 上記以外の数値を入れても何も表示しません。 となってしまいます。 模範解答は #include <stdio.h> void main(void) { int a ; printf("数字を入力してください"); scanf("%d",&a); swich( a%3 ){ case 0 : printf("hello world"); break; case 1: printf("こんにちわ"); break; case 2 : printf("おつかれさまです"); break; } } ですね。 switch caseやprintfの使われ方を見比べてみてください。
その他の回答 (1)
- taknt
- ベストアンサー率19% (1556/7783)
swich文とは その指定したものが どれにあてはまるかで処理を分ける命令です。 だから swich(a) case 'b': などと した場合、 a='b' の時に処理をするという記述になります。 だから ここの swich(a) のところに swich(a%3) という記述を入れて case で それぞれのあまりのときの処理を入れればいいのです。