#include<stdio.h>
int main()
{printf("输入一个正整数:");
int n,t;
t=n;
scanf("%d",&n);
do{t*=n-1;
n--;
} while(n>1);
printf("n!为:",t);
return 0;
}
请按图示修改,记住c语言是按顺序执行每条语句的,在输入n之前给t赋值没有意义。
追问那为什么这样还是不行
#include
int main()
{printf("输入一个正整数:");
int n;
scanf("%d",&n);
int t=n;
do{t*=n-1;
n--;
} while(n>1);
printf("n!为:",t);
return 0;
}
这样的话你改改t *=(n-1)看看,加个括号
每次都减1,效率会更低的
追问嘤嘤嘤,还是不行,不知道哪错了X﹏X
追答printf("n!为%d\n", t);
追问谢谢,太蠢了(╯▽╰)