
#include <stdioh>
double f(double n) //一个递归
{
if(n==0 || n==1) return 1;
else
return nf(n-1);
}
int main()
{
double s, n=20 ;
s=f(n);
printf("s=%f\n",s);
return 0;
}
你可以运行一下 ,结果和百度计算的是一样的。
20的阶乘如果用int存储的话会溢出的,所以我用double存储。其实用一个int数组存储应该更好。
。
#include<stdioh>
int f(int n){
switch(n){
case 0:return 4;
case 4:return 3;
case 3:return 2;
case 2:return 1;
}
return 0;
}
void main(){
int m=21,n;
do{
scanf("%d",&n);
m-=n;
n=f(m%5);
printf ("%d\n",n);
m-=n;
}while(m>1);
}
其实有更简单的,如下:
#include<stdioh>
void main(){
int n;
do{
scanf("%d",&n);
printf ("%d\n",5-n);
}while(1);
}
以上就是关于这个c语言程序我想求20的阶乘输出的是21全部的内容,包括:这个c语言程序我想求20的阶乘输出的是21、设计C语言程序,游戏规则:21根火柴,一次只能拿走1或2或3或4根,不能不拿不能弃权,人与电脑比赛。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)