dポイントプレゼントキャンペーン実施中!

コラッツの問題についてのプログラムです。


#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() )”
というエラーが出てしまいます。
どこが悪いんでしょうか?

A 回答 (5件)

こんにちわ。



> printf("%d",a);
> の効果がなかったんですが・・・
バッファにためられて、出力されていない事が考えられます。
printf("完了\n"); と、最後に改行文字を出力して見て下さい。
    • good
    • 0

>printf("%d",a);


>printf("%d",a);
>の効果がなかったんですが・・・
aの値として何を入力しました?
scanf("%d",&a);
while(a==1){
となっていますから、aに1以外の値を入れると
while文を素通りします。
    • good
    • 0

削除要求:


タッチの差でした。
    • good
    • 0

a=3*a+1;に変更すべし。

    • good
    • 0

else の次の行


a=3a+1;

a= 3 * a + 1;
にしましょう。

この回答への補足

回答ありがとうございました。
おかげさまで、コンパイルはできました。
しかし、
printf("%d",a);
printf("%d",a);
の効果がなかったんですが・・・

補足日時:2004/01/14 20:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!