这个c语言程序我想求20的阶乘输出的是21

这个c语言程序我想求20的阶乘输出的是21,第1张

#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根,不能不拿不能弃权,人与电脑比赛。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9813777.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存