- 締切済み
ソースコードの確認をお願いします。
コラッツの問題についてのプログラムです。 #include<stdio.h> #include<math.h> main() { int a,b; printf("aに値を入れてください。"); scanf("%d",&a); while(a==1){ if(!(a%2)) {a=a/2; printf("%d",a);} else {a=3a+1; printf("%d",a);} } printf("完了"); } このプログラムでは ”14: ステートメントにセミコロン(;)がない(関数 main() )” というエラーが出てしまいます。 どこが悪いんでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- muyoshid
- ベストアンサー率72% (230/318)
回答No.5
こんにちわ。 > printf("%d",a); > の効果がなかったんですが・・・ バッファにためられて、出力されていない事が考えられます。 printf("完了\n"); と、最後に改行文字を出力して見て下さい。
- HOGERA3
- ベストアンサー率35% (50/139)
回答No.4
>printf("%d",a); >printf("%d",a); >の効果がなかったんですが・・・ aの値として何を入力しました? scanf("%d",&a); while(a==1){ となっていますから、aに1以外の値を入れると while文を素通りします。
- keyguy
- ベストアンサー率28% (135/469)
回答No.3
削除要求: タッチの差でした。
- keyguy
- ベストアンサー率28% (135/469)
回答No.2
a=3*a+1;に変更すべし。
- HOGERA3
- ベストアンサー率35% (50/139)
回答No.1
else の次の行 a=3a+1; を a= 3 * a + 1; にしましょう。
補足
回答ありがとうございました。 おかげさまで、コンパイルはできました。 しかし、 printf("%d",a); printf("%d",a); の効果がなかったんですが・・・