No.2ベストアンサー
- 回答日時:
これって 1~10までの階乗を出力するってプログラムですよね?
実際に階乗の計算を行ってるのは2つ目のforループで行っていると
思いますが、その前にaを初期化してない為に前に計算した階乗の値が
残ってしまってるからじゃないかと思います。
for (i=1; i<=10; i++){
a = 1; //←初期化
for(j=1 ;j <=i; j++){
a=a*j;
}
printf("%3d %ld \n",i,a);
}
もしくは...
int num = 10; //求める階乗数
int a,i;
for(i=1,a=1;i<=num;i++,a=a*i) printf("%3d %ld \n",i,a);
こんな感じになると思います。
No.3
- 回答日時:
回答は他のかたがなさっているので、アドバイスと称して苦言を一つ。
プログラムが仕様通りの動作をしないとき、「どうも上手くいきません」「エラーになってしまいます」で片付けていたら、永久にプログラミングは上達しませんよ。
プログラムを書いてみたが、思い通りに動かない。それは、プログラミングでは当たり前です。むしろそれからが始まりです。「どうも上手くいきません」とは、具体的にどういう現象が起きるのでしょう。「エラーになってしまいます」とは、どんなエラーメッセージが出るのでしょう。得られる手がかりを駆使してバグの原因を絞り込んでいくのがプログラミングです。
また、エラーメッセージすら示さずに質問をするなんて、他人に対するものの聞き方も覚えてください。
No.1
- 回答日時:
aの初期化のタイミングがおかしいのではないでしょうか。
各iについて出たaの値をそのまま(i+1)について使っていますから、
このままでは
1!
1!×2!
1!×2!×3!
:
1!×2!×3!×・・・10!
を計算することになって、多分オーバーフローを起こします。
外側のforループと内側のforループの間で毎回
a=1
を実行すべきだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
getcの改行判定
-
配列を使って魔方陣
-
#if 1 #elseの意味について
-
SIGALRMでプロセス終了
-
c言語の問題
-
行列をべき乗させるプログラム
-
for文の中にswitch文はいれられ...
-
構文エラー";"が型の前にあり...
-
scanfが実行されません
-
C言語初心者です。次の問題で質...
-
C言語 数字以外を入力させない...
-
配列を関数に渡す方法
-
階乗のプログラム!!
-
c言語のプログラムで
-
プログラミングで二番目に大き...
-
c言語
-
Enterキーを押されたら次の処理...
-
#define _CRT_SECURE_NO_WARNIN...
-
信頼区間の1.96や1.65ってどこ...
-
2÷3などの余りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
getcの改行判定
-
C言語階乗の総和を求める
-
配列を使って魔方陣
-
while文について、c言語...
-
プログラミングで二番目に大き...
-
C言語 数字以外を入力させない...
-
c言語のwhile文を使った計算で...
-
C言語プログラムが理解できなくて…
-
配列を関数に渡す方法
-
C言語で電卓を作成する。
-
C言語の二分法のプログラムにつ...
-
c言語for文
-
scanf関数を用いての加減乗除%...
-
階乗のプログラム!!
-
計算結果がlong型以上になる場...
-
初心者です。for文、if文を使っ...
-
c言語プログラミングで1から100...
おすすめ情報