用C语言编写求20!的程序

用C语言编写求20!的程序,第1张

#include <stdio.h>

void main(){

double res=1.0

int i

for(i=1i<=20i++){

res*=i

}

printf("颂帆result=%lf",res)

}

利用for循环期求出穗返第n项阶乘的积,然后前n-1项的阶乘的和加上第n项阶野族雹乘,当n等于20的时候就是所求。

以下是求1到20的素数的C语言程序:

```c

#include <stdio.h>

int main() {

int i, j, flag

printf("1-20的素数有:")

for (i = 2i <= 20i++) {

flag = 0

for (j = 2j <= i/2j++) {

if (i%j == 0) {

flag = 1

break

}

}

if (flag == 0 &&i != 1) {

printf("%d ", i)

}

}

return 0

}

```

程序的主要斗尘思路是使用两层循环,外层循环遍历1到20之间的整数,内层循环遍历当前数除去1和自身后的所有数,判断是否有整除的空弊禅情况。如果存在因子,则说明该数不是素数,将标志位flag置为1,跳出内层循环。如果内层循环遍历完毕后,flag仍等于0,则说明卜丛该数是素数,将其输出即可。需要注意的是,1不是质数。

输出结果为:

```

1-20的素数有:2 3 5 7 11 13 17 19

```

对于阶乘,你需裂握要考虑到输入的数的大小,进行判断n<0,无阶乘;n==0||n==1阶乘为1;

n>1的就用户循环,或者调用函数来做

1.循环

#include<stdio.h>

void main()

{

float sum=1

int n,i

printf("please enter an integer number:")

scanf("%d",&n)

printf("\哪清n")

if (n<0)

printf("n<0,data error!\n")

else if(n>1)

{

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

sum=sum*i

printf("%d!=%10.0f\n",n,sum)

}

else

if(n==0||n==1)

{

sum=1

printf("%d!=%10.0f\n",n,sum)

}

}

2.函数

#include <stdio.h>

void main()

{

float fac(int n)

int n

float y

printf("input an integer number:"肆缓庆)

scanf("%d",&n)

y=fac(n)

printf("%d!=%10.0f\n",n,y)

}

float fac(int n)

{

float f

if(n<0)

{

printf("n<0,data error")

}

else

if(n==0||n==1)

f=1

else

f=fac(n-1)*n

return (f)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12449382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存