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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)