- 締切済み
C言語で困っています。
正の整数を入れたときに、階乗を求めるプログラムを作りたいのですが、 ↓のプログラムを起動させたら、最終的な答えが1(kaizyo=1)になって、非常に困っています。 何故なのでしょうか?それと、どこを直せばいいですか? #include<stdio.h> main() { int x; int kaizyo=1; printf("整数を入力して下さい:"); scanf("%d",&x); if(x<=0) { printf("値が不適当です。"); } else { while(x<1) { kaizyo=kaizyo*x; x=x-1; } printf("%dの階乗は%dです。",x,kaizyo); } }
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- saijyo_739
- ベストアンサー率53% (119/222)
回答No.4
- furlough
- ベストアンサー率100% (1/1)
回答No.3
- bx2
- ベストアンサー率47% (97/206)
回答No.2
- himajin100000
- ベストアンサー率54% (1660/3060)
回答No.1
お礼
助かりました。一気に問題が解決しました。