1138: 【C语言训练】计算一个整数N的阶乘

本来我的基础比较薄弱,现在大三了,大一大二就没有好好的刷题,而且在大一的时候C语言还挂科了,足以见得我C语言学的有多渣,现在才想着刷题,说不后悔是假的,但是我就是想着说,总比一直不知道的要好,今天在杭电的网站上面看了题目,发现自己的能力还达不到那个境界,就跑到了学校的网站刷题,都是一些很基础的题目,想着慢慢来吧,也许我的博客里没有什么可以学习的,但是这应该是我的学习经历吧。

题目描述

计算一个整数N的阶乘

输入

一个整数N, (0〈=N〈=12)

输出

整数N的阶乘.

样例输入

5

样例输出

120

看到这个题目的时候,还记得我大一的时候做过这个题目,本来想着会很快做出来的,后来答案做出来没有错,提交第一次的时候还是错了,返回看题目,发现还有一个N的条件忘记加进去了,最后又试了一次,还是错误,我就想着说上网上查查为什么总是错误i,最后才发现,是因为N的定量的时候我定的是整型int,在这里应该定long型,后来提交后就正确了,而且比我在网上借鉴的占的内存要小。

#include
int 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;  
}  

这是我借鉴的代码


你可能感兴趣的:(C语言)