c语言 用 for循环语句 编写n的阶乘

作者&投稿:空福 (若有异议请与网页底部的电邮联系)
用C语言用循环实现N的阶乘~

不要用数组,用vector来实现相应的功能,我给你写个大概的框架,你向里面添加就好了
#include #include #include // add newusing namespace std;#define N 10 //算N的阶乘int main(){ //数组 1位 1!//int ary[N] = {1, 1};vector ary;ary.resize(N);// 此处的N就可以是非const类型的量// 然后你把ary当成ary[N]数组用就可以了int i, j;for (i = 2; i = 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("
");return 0;}

1、打开visual C++软件,新建任务,鼠标左键点击文件,选择C++ source file:

2、输入代码,首先引入c语言标准库“# include ”,之后在主函数里编写程序,其实n的阶乘就是从1到n的累积,只要编写一个for循环从1一直到n不停的求积就可以了:

3、编写完成后,点击左边的编译按钮 ,编译完成后点击右边的按钮运行程序:


4、运行软件后,Debug里面会生成exe的阶乘可运行程序,打开它这里输入5,按下回车程序就能计算出5的阶乘了,至此就完成了程序的编写:

以下是使用 for 循环语句编写 n 的阶乘的 C 语言代码实现:

```c
#include <stdio.h>

int main() {
int n, factorial = 1;
printf("请输入一个整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
factorial *= i;
}
printf("%d 的阶乘为:%d
", n, factorial);
return 0;
}
```

代码解释:

1. 在 `main` 函数中定义变量 `n` 和 `factorial`,分别表示用户输入的数和阶乘结果。
2. 通过 `printf` 和 `scanf` 函数获取用户输入的整数。
3. 循环计算 1 至 `n` 之间的数的乘积,即为 `factorial` 的值。
4. 所有数的乘积计算完之后,输出 `factorial` 即可。

运行结果:

```
请输入一个整数:5
5 的阶乘为:120
```

可以看到,这段 C 语言代码输出了 5 的阶乘,结果为 120。

#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;
}

int factorial(int n)
{
int i;
for(i=0;i<n;i++)
n*=(n-1);
return n;

}
这是一个阶乘函数 你要算x的阶乘 只要调用这个函数就行

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

}


临海市13744929956: c语言用for循环进行编程,计算n=1 - 3!+5! - 7!+....+( - 1)^(n - 1)*(2*n - 1) -
藏牵瑞格: for(i=1;i<n-1;i++) { s = s+ (-1)^(i-1)*(2*i-1); }

临海市13744929956: 使用for循环编程,从键盘输入整数n,再输入n个数,求其平均值并输出.用c语言表示 -
藏牵瑞格: #include void main() { int i,n,num; double ave=0; printf("input n:"); scanf("%d",&n);//输入n for (i=1;i<=n;i++) {//输入n个数据,并求总和 scanf("%d",&num);//输入数据 ave+=num;//求总和 } ave=ave/n;//求平均值 printf("ave=%lf\n",ave);//输出平均值 }

临海市13744929956: C语言程序 n!程序怎么写 要for循环的 谢了!!!急用!!跪求!!! -
藏牵瑞格: #include <stdio.h> main() { int n, i; double result; scanf("%d",&n); result = 1; for(i=2;i<=n;i++) result *= i; printf("%.0lf",result); }

临海市13744929956: 用c语言求前n项的和:1+2+3+...+n 用for循环 n为任意整数 -
藏牵瑞格: 1 2 3 4 5 6 7 8 9 10 11#include<stdio.h> intmain(intargc, charconst*argv[]) { intn,s=0,i;printf("input n\n");scanf("%d",&n);for(i = 1; i <= n; ++i){s=s+i;}printf("%d\n",s ); }

临海市13744929956: 用c语言的循环语句,输入一个正整数n,在输入n个整数,输出最小值. -
藏牵瑞格: 1、新建一个工程和.c文件 ,输入头文件和主函数. 2、定义变量类型和赋初值. 3、输入整数. 4、用for循环计算整数的长度. 5、用for循环将各位数字存入数组中. 6、用for循环输出数组. 7、编译,输出最小值.

临海市13744929956: 用C语言 编写问题: 计算1~N之间所有奇数之和(简单for循环) -
藏牵瑞格: 用法 c_q14 一个数字,注意for循环写法,直接每次+2,不要检测每个数字 用例: F:\work tmp\test>c_q14 1 input number is 1,sum is 1. F:\work tmp\test>c_q14 2 input number is 2,sum is 1. F:\work tmp\test>c_q14 5 input number is 5,sum is 9....

临海市13744929956: 用c语言for循环语句计算1+3+5+……+2n - 1.其中n任意. -
藏牵瑞格: #include<stdio.h> int main() {int n,i;double sum =0;scanf("%d",&n);for(i =1;i<=2*n-1;i +=2){sum +=i;}printf("1+....+%d的结果是:%.0lf\n",2*n-1,sum);return 0; },可以不用循环来做,因为这个是个等差数列,可以直接用数学公式的出结果,你可以尝试下,很简单的

临海市13744929956: c语言编程求1到n中能被3或7整除的数之和.分别用for循环语句和while循环语句完成本题. -
藏牵瑞格:[答案] #include /*用for循环实现*/ void main() { \x09int n; \x09int m; \x09printf("please input n\n"); \x09scanf("%d",&n); \x09for(int i = 1; i

临海市13744929956: c语言 请分别用for循环,while循环和函数调用三种方法来实现求n! -
藏牵瑞格: 1#include #include int main() { int i = 1; int n; int s = 1; scanf("%d",&n); while(i{ s = s*i; i++; } printf("s = %d\n",s); }2#include #include int main() { int i = 1; int n; int s = 1; scanf("%d",&n); for(i = 1; i s = s*i; printf("%d! = %d\n",n,s); }3.#...

临海市13744929956: 用C语言编写n! -
藏牵瑞格: #include "iostream.h" long fax(int n); int main() { int n; long m; cout cin>>n; m=fax(n); cout return 0; } long fax(int n) { long f; if(n { cout f=-1;} else if(n==0|n==1) f=1; else f=fax(n-1)*n; return f; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网