本来我的基础比较薄弱,现在大三了,大一大二就没有好好的刷题,而且在大一的时候C语言还挂科了,足以见得我C语言学的有多渣,现在才想着刷题,说不后悔是假的,但是我就是想着说,总比一直不知道的要好,今天在杭电的网站上面看了题目,发现自己的能力还达不到那个境界,就跑到了学校的网站刷题,都是一些很基础的题目,想着慢慢来吧,也许我的博客里没有什么可以学习的,但是这应该是我的学习经历吧。
题目描述
计算一个整数N的阶乘
输入
一个整数N, (0〈=N〈=12)
输出
整数N的阶乘.
样例输入
5
样例输出
120
看到这个题目的时候,还记得我大一的时候做过这个题目,本来想着会很快做出来的,后来答案做出来没有错,提交第一次的时候还是错了,返回看题目,发现还有一个N的条件忘记加进去了,最后又试了一次,还是错误,我就想着说上网上查查为什么总是错误i,最后才发现,是因为N的定量的时候我定的是整型int,在这里应该定long型,后来提交后就正确了,而且比我在网上借鉴的占的内存要小。
#includeint main(void)
{
long N,s=1;
scanf("%ld",&N);
if(N>=0 && N<=12){
while(N)
{
s=s*N;
N--;
}
}
printf("%d\n",s);
return 0;
}
这是我的代码
#include int main()
{
long inc,ans,i;
if(scanf("%ld",&inc)!=1)
{
return -1;
}
ans=1;
for(i=1;i<=inc;i++)
{
ans=ans*i;
}
printf("%ld\n",ans);
return 0;
}
这是我借鉴的代码