1. 用c语言用循环实现N的阶乘
不要用数组,用vector来实现相应的功能,我给你写个大概的框架,你向里面添加就好了
#include<stdio.h>
#include<stdlib.h>
#include<vector> //addnew
usingnamespacestd;
#defineN10//算N的阶乘
intmain()
{//数组1位1!
//intary[N]={1,1};
vector<int>ary;
ary.resize(N);
//此处的N就可以是非const类型的量
//然后你把ary当成ary[N]数组用就可以了
inti,j;
for(i=2;i<=N;i++)
{
//各个下标的阶乘,第0位下标是位数,所以从第1位开始
for(j=1;j<=ary[0];j++)
{
ary[j]=ary[j]*i;
}
//处理进位问题1W就进一位
for(j=1;j<=ary[0];j++)
{
if(ary[j]>=10000)
{
//进位
ary[j+1]=ary[j+1]+ary[j]/10000;
//进位后就只留下余数
ary[j]=ary[j]%10000;
}
}
//有进位的话,位数就+1
//这里j已经是位数大于1了
if(ary[j]>=1)
{
ary[0]++;
}
}
//倒序输出
for(j=ary[0];j>0;j--)
{
printf("%d",ary[j]);
}
printf(" ");
return0;
}
2. C语言编程:求n的阶乘
只写函数的话可以这样——
intfunc(intn){
if(n==1||n==0)
return1;
returnn*func(n-1);
}
也可以这样——推荐这种,时效好。
intfunc(intn){
ints;
for(s=1;n>1;s*=n--);
returns;
}
3. c语言怎么用for循环语句编写n的阶乘
#include <stdio.h>
#include <conio.h>
int main(void)
{
int n,i;
int sum=1;
printf("请输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum*i;
}
printf("n!=%d\n",sum);
getch();
return 0;
}
4. while求n的阶乘
您好,很高兴回答您的问题。
在c语言中,用while计算n的阶乘,主要就是要掌握循环变量循环变化、循环语句。具体为
#include<stdio. h>
void main()
{int i,n,s=1;
scanf("%d",&n);
while(i=1;i<=n;i++)
s=s*i;
printf("s=%d\n",s);
}
5. c语言求n!
方法利用循环解决问题,设循环变量为 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("
");
return 0;
}
调试运行结果
输入 5,对应的阶乘输出情况如下所示;
5
5!=120.000000
输入20,对应的阶乘输出情况如下所示:
20
20!=2432902008176640000.000000
(5)c语言用计数控制循环求n的阶乘扩展阅读
C语言特点
(1)简洁的语言
C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
(3)丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
(4)丰富的运算符
c语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。
6. C语言编程 输入N 求N的阶乘
输入一个正整数n,输出n!*/#include <stdio.h> //编译预处理命令
int factorial(int n); //函数声明
int main(int argc, char const *argv[]) //主函数
{
int n; //变量定义
scanf("%d", &n); //输入一个整数
printf("%d
", 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语言编写的。
7. c语言如何求N的阶乘
法/步骤
第一步、编程的第一步就是写头文件,对于初学者来说,只写一个头文件就可以了,即#include<stdio.h>
拓展资料
定义
n!=1×2×3...xn
n!=X×(X-1)×(X-2)...×1
1751年,欧拉以大写字母M表示m阶乘M=1x2x3...x...m
1799年,鲁非尼在他出版的方程论着述中,则以小写字母π表示m阶乘。而在1813年,高斯则以Π(n)来表示n阶乘。而用来表示n阶乘的方法起源于英国,但仍未能确定始创人是谁。直至1827年,由于雅莱特的建议而得到流行,现在有时也会以这个符号作为阶乘符号。
当n较大时,直接计算n!变得不可能,这时可通过斯特灵(Stirling)公式计算近似算或取得大小范围。
8. C语言中如何编写N的阶乘
1、打开visual C++软件,新建任务,鼠标左键点击文件,选择C++ source file:
9. C语言,求n阶乘的代码
思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。
#include <stdio.h>
int main()
{
int i, n;
int sum = 1;
printf("请输入n: ");
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum = sum*i;
}
printf("n的阶乘是%d ", sum);
return 0;
}
定义范围
通常所说的阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶乘。
以上内容参考:网络-n!
10. C语言用for循环求n的阶乘
#include<stdio.h>
main(){
int sum=1;
int n;
printf("Please input the number N:");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum=sum*n;
}
printf("SUM=%d",sum);
}