C语言编程 输入正整数n,计算n!,结果用长整型数表示

问题描述:

C语言编程 输入正整数n,计算n!,结果用长整型数表示
1个回答 分类:综合 2014-12-04

问题解答:

我来补答
定义unsigned int n,long long int n1,计算过程用for循环每次*10,保存到n1,最后输出n1 再答: 算法思路大致就是这样了,具体代码应该不难写
再问:
再答: 哦,原来是这个
再答: 那么把计算过程改成for循环每次减1,减到n=1循环停止,在此过程中n1每次*n
再答: for (n1=n;n--;n>1) n1=n1*n;
再答: 全部代码等写完发给你,手机打字慢
再问: 恩,谢谢
再答: #include int main () { unsigned int n; long int n1; scanf ("%ud",&n); for (n1=n;n--;n>1) { n1=n1*n; } printf ("%ld",n1); return 0; }
再答: 来了
再问: 请问一下代码中ud 与ld 是什么意思,谢谢
再答: ud是unsigned int,ld是long int
再答: 一个是无符号整型(正整数),还有一个是长整型
再答: 长整型可以有更加长的取值范围
再答: 按题目要求需要正整数输入长整型输出所以用这个
再答: lz如果还有不会的问题可以全都抛出来,我可以帮忙看看~~
再问: 噢噢好的。就是为啥你刚刚写的两个程序开头都是int main?神马意思来着。。。用void main行吗?
再答: ……可以,但是用void类型debug略烦,int是整形程序……要说不同么……就是return的问题了
再答: void不会返回值,int返回整型量
再答: 一般编程用int更利于debug,只有写自定义函数什么的才需要切实纠结int,void,float main的问题
再问: 哦哦,涨姿势了,谢谢啊。
再答: 嗯嗯,木事木事
再问: 偶不。。。你的程序我试了一下结果有6个错误。。
再答: ……恩,因为else和if的交界处逻辑错了
再答: 你把每个if和else后面的内容括号起来就行了
再答: ……wait……你是不是搞错了?应该是另外一个程序出错6和吧?
再问: 就只有这一个程序有六个错。。。我把它你编的代码改了一下,又简化了一下,终于对了。。。
再答: ……具体情况?
再答: 这个程序本来就只有几行,怎么会出6个错?
再答: ……我知道哪错了……for循环判定式的后两项写反了……我是坏掉了么……居然会范这种低级错误……
再答: 抱歉让你费心了……
再问: 没事没事。
 
 
展开全文阅读
剩余:2000
下一页:明矾净水