C语言怎么实现输入一个n,输出n?

Python019

C语言怎么实现输入一个n,输出n?,第1张

#include<stdio.h>

int main()

{

int i,n

float sum=0

printf("请输入n:\n")

scanf("%d",&n)

for(i=1i<=ni++)

sum+=(float)1/i

printf("前n项和为sum=%.4f\n",sum)

return 0

}

K&R C

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1、求n!就是n的阶乘首先打开vc++ 6.0软件,准备一个新的c语言文件,命名为multiply.cpp,然后引入C语言基本库,创建一个main函数:

2、然后在man函数中输入代码。这里所谓的n的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,在for循环中不断计算f和n相乘,每轮计算完就n就减1,直到n=1结束计算。最后打印出计算结果程序就编写完成了:

3、最后编译运行这段程序,在打开的命令行中,输入任意一个数计算结果,可以看到显示出了计算值以上就是用c语言的求n!的方法就是:

编程实现计算n!,也就是n*(n-1)*(n-2)*....*1,可以通过递归函数来实现,具体实现方法:

#include <stdio.h>

int Func(int n)

{

if(n <2)

return 1

else

return n*Func(n-1)

}

void main()

{

int n =0,m=0

printf("请输入一个正整数:")

scanf("%d",&n)

m=Func(n)

printf("%d!=%d\n",n,m)

}

在以上程序代码中,Func()为递归函数,主函数main()中接收键盘输入整数值后,调用Func()递归函数,首层m=n*(n-1)!,继续递归调用,m=n*(n-1)(n-2)!,这样逐层递归,直到计算出N!。

程序输出结果如下:

扩展资料:

所谓n的阶乘就是从1到n的乘积,所以除了递归法来实现以外,其实我们也可以通过一个for循环,从1到n依次求积同样可以达到计算n!的目地。

具体实现代码如下:

#include <stdio.h>

int main() {

int n,i,s=1

scanf("%d",&n)

for(i=1i<=ni++)//for循环求累积

s=s*i

printf("%d\n",s)

return 0

}

/*

运行结果:(例如求5的阶乘)

5

120

*/