#include<stdio.h> int main() { int amount; int n = 1; scanf("%d",&amount); while( n <= amount){ amount *= n; n ++; } printf("阶乘为%d",amount); return 0; //在D++上运行成功,但是除输入零外的任何数字都无法算出正确的阶乘,一直都是负号开头的数字
?
先给amount赋初值
int amount = 1;
/*理解了,amount是计算所比较的数,并不能直接加入while中,否则会使()内的比较随之变动,因此需要一个数字储存过程中所取得的数*/
#include<stdio.h>
int main()
{
int n = 1;int sum =1;
int amount ;
printf("请输入你想要阶乘的数字\n");
scanf("%d",&amount);
while(n <= amount){
sum *= n;
n ++;
}
printf("n! = %d",sum);
return 0;
}
int a,n = 1,f = 1; scanf("%d", n); while(n <= a) { f *= n; n ++; } printf("%d\n", f); // 这样估计...