• 締切済み

また、プログラミングで分からなくなったので、

すみません、学校の課題(C言語)で 「任意の整数Xを入力し、Xの階乗の結果を表示するプログラムを作成しなさい。ただし、Xの階乗の計算は別関数で行い、入力と結果の表示はmain関数で行うようにすること。」 というのが出て、自分なりに作ってみたり、調べたのですが 別関数の意味やmain()の上の分に何が入るのかもわかりません。 それに下のプログラミングでちゃんと動くかもわからないです。 下に載せてみたので、よろしければ色々と言ってください。 お願いします #include<stdio.h> int { } main() { int kotae = 0; int kakezan,count,X; printf("整数Xを入力しなさい"); scanf("%d",&X); for(count = 0; count <= X; count++) { kotae = kakezan * X[count]; } printf("Xの階乗は%dです",kotae); }

みんなの回答

  • luckymako
  • ベストアンサー率55% (29/52)
回答No.2

以下に解答例を挙げます。(全角スペース要削除) 百の説明より一つの解答例の方が解りやすいでしょう。 #include<stdio.h> int fact(int x){  int ans = 1;  while(1 < x){   ans *= x--;  }  return ans; } main(){  int x;  scanf("%d",&x);  printf("%d\n", fact(x)); } 以下は質問文に対する百の説明です。 ・int kotae, kakezan, count, X  不必要なものあります。  変数名に日本語のローマ字表記はやめましょう。   ・X[count]  []配列以外には使いません。使った場合の動作は不確定です。 ・kotae = kakezan * X[count];  A = A * B は  A *= B という表記ができます。

すると、全ての回答が全文表示されます。
noname#140082
noname#140082
回答No.1

まず関数とは、main()やprintf()などが関数となりますので、main()から呼び出される関数を自分で作成すればよいことになります。 また、検索するとまさにそのものズバリの答えも見つかりましたので、ご自身で検索されてみてはいかがでしょう。 また、階乗の計算部分も間違っているみたいですが、コンパイル・デバッグ環境があるのでしょうから、ご自身で解決された方がいいでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A