方法利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。
① 定义变量 sum,并赋初值 1。
② i 自增 1。
③ 直到 i 超过 n。
程序代码如下
#include <stdio.h>
int main()
{
int i,n;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d!=%lf",n,sum);
printf("\n");
return 0;
}
调试运行结果
输入 5,对应的阶乘输出情况如下所示;
5
5!=120.000000
输入20,对应的阶乘输出情况如下所示:
20
20!=2432902008176640000.000000
扩展资料
C语言特点
(1)简洁的语言
C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
(3)丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
(4)丰富的运算符
c语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。
参考资料来源:百度百科—C语言
2016-01-26 · 百度知道合伙人官方认证企业
main()
{
int n,i;
double p=1;//这里用的是Double,不用Int,因为Int范围太小了
printf("请输入一个数字:");
scanf("%d",&n);
for(i=2;i<=n;i++)
p*=i;
printf("n!=%lf\n",p);
}
利用for循环,不断求1*2一直乘到n,最后输出n!
"stdio.h"
main()
{
int
n,i;
double
p=1;//这里用的是Double,不用Int,因为Int范围太小了
printf("请输入一个数字:");
scanf("%d",&n);
for(i=2;i<=n;i++)
p*=i;
printf("n!=%lf\n",p);
}
利用for循环,不断求1*2一直乘到n,最后输出n!
"stdio.h"
main()
{
int
n,i;
double
p=1;//这里用的是double,不用int,因为int范围太小了
printf("请输入一个数字:");
scanf("%d",&n);
for(i=2;i<=n;i++)
p*=i;
printf("n!=%lf\n",p);
}
因为当n比较大的时候不能使用循环或是递归。