C语言编程 输入N 求N的阶乘

编写一个循环程序,输入N值,输出N的阶乘。关于循环程序怎么编写,可以参考教材第六章P123的内容。注意整型数的表示范围,如果当输入的N比较大时,例如N等于20时,输出Ni... 编写一个循环程序,输入 N 值,输出 N 的阶乘。关于循环程序怎么编写,可以参考教材第六章P123的内容。注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出N is too big 展开
 我来答
百度网友f27200e
2018-07-26 · TA获得超过2.6万个赞
知道小有建树答主
回答量:390
采纳率:100%
帮助的人:6.2万
展开全部

输入一个正整数n,输出n!*/#include <stdio.h>                      //编译预处理命令

int factorial(int n);                   //函数声明

int main(int argc, char const *argv[])  //主函数

{    

int n;                              //变量定义

   

scanf("%d", &n);                    //输入一个整数
   

printf("%d\n", factorial(n));       //调用函数计算阶乘

  

return 0;
}int factorial(int n)                    //定义计算n!的函数

{   

int fact = 1;    

for (int i = 1; i <= n; ++i)
   

{        

fact = fact*i;
   

}

return fact; 

}

拓展资料

特点

1. C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2.C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。

4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。

知识慧
2018-07-19 · TA获得超过4526个赞
知道答主
回答量:0
采纳率:50%
帮助的人:0
展开全部

/*求阶乘问题。
输入一个正整数n,输出n!

*/#include <stdio.h>                      //编译预处理命令

int factorial(int n);                   //函数声明

int main(int argc, char const *argv[])  //主函数

{    int n;                              //变量定义

scanf("%d", &n);                    //输入一个整数

if (n>=20){

printf("N is too big")

}

printf("%d\n", factorial(n));       //调用函数计算阶乘

return 0;


}int factorial(int n)                    //定义计算n!的函数

{    int fact = 1;    for (int i = 1; i <= n; ++i)


{


fact = fact*i;


}    

return fact;


}

代码截图:

参考资料:百度百科-网页链接

扩展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修罗丶清
2018-07-25 · TA获得超过2134个赞
知道答主
回答量:10
采纳率:0%
帮助的人:1464
展开全部

您好,我们下构思下程序的基础,

  1. 让用户自定义输入一个数作为阶乘数,

  2. 当超过20时,输出“N is too big”.

我们需要用到IF函数,以下为详细过程。

#include<iostream>

using namespace std;

int main()

{

int n, s=1;

cin >> n;

for (int i = 1; i <= n; i++)

{

s = s * i;

}

if (n > 20)

cout << "N is too big" << endl;

else

cout <<n<<"的阶乘是"<<s << endl;

return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
985967518
2015-12-19 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109864
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。

参考代码:

#include "stdio.h" 
int main() {
int n,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循环求累积 
s=s*i;
printf("%d\n",s);
return 0;
}
/*
运行结果:(例如求5的阶乘) 
5
120
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-10
展开全部
#include <stdio.h>void main(void)
{ int n,i,p=1;
printf("请输入一个整数:");
scanf("%d",&n);
if(n>13)printf("n is to big\n");
else
{
for(i=2;i<=n;i++)
p*=i;
printf("%d\n",p);
}}注意如果是32位版本,int是+- 21亿左右的范围,最大只能求13的阶乘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式