问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言编写一个求n阶乘的函数,在主函数中输入n,调用函数求n阶乘。。谢谢

发布网友 发布时间:2022-06-01 05:38

我来回答

5个回答

热心网友 时间:2023-11-24 19:01

//因C语言数据类型*,不能做大数的阶乘运算
//n的值超过22结果会不准确
#include <stdio.h>
double jc( int n )
{
int i;
double rs=1 ;
for( i=1;i<=n;i++ )
rs *= i ;
return rs ;
}
int main()
{
int n;
printf("input n:");
scanf("%d" , &n );
printf("%d!=%.0lf\n" , n, jc(n) );
return 0;
}

热心网友 时间:2023-11-24 19:01

#include<stdio.h>
fun(int n)
{
int i,sum=0,t=1;
for(i=1;i<=n;i++)
{
t*=i;
sum+=t;
}
printf("the result is : %d\n",sum);
return 0;
}
main()
{
int n;
printf("please input a number:\n");
scanf("%d",&n);
fun(n);
}

追问fun,我们还没有学过。谢谢啊。。。真心感谢!!

追答你不是要调用函数吗?fun只是取的名字,你可以随便取。不一定是这个

热心网友 时间:2023-11-24 19:02

#include <stdio.h>

#include <stdlib.h>

unsigned long long fact(unsigned long long n) { //递归
if (n == 0 || n == 1) return 1;

return n * fact(n - 1);

}

int main() {
unsigned long long n;

scanf("输入n: %lld", &n);
printf("%lld\n", fact(n));

system("pause"); // 输出“请按任意键继续……”并等待
return 0;
}

热心网友 时间:2023-11-24 19:02

int jc(int x) { return x==1?1:jc(x-1)*x; }

热心网友 时间:2023-11-24 19:03

#include&lt;stdio.h&gt;

long fun(int n)

{

if(n&lt;0)

{

return-1;

}

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

{

return 1;

}

else

{

return(n*fun(n-1));

}

}

int main()

{

int n;

long sum=0;

printf("please input n:\n");

scanf("%d",&n);

while(n&lt;0)

{

while(getchar()!='\n');

printf("please input right n(n&gt;=0):\n");

scanf("%d",&n);

}

sum=fun(n);

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

return 0;

}

扩展资料:

return是C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值.

1、C

在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:

int main(void)

int main(int argc,char*argv[])

(参考资料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)

当然,我们也可以做一点小小的改动。例如:char*argv[]可以写成char**argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv[])。

main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如操作系统)。

如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。

注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc3.2(Linux下的C编译器)会在生成的目标文件中加入return 0;。

2、C++

C++98中定义了如下两种main函数的定义方式:

int main()

int main(int argc,char*argv[])

(参考资料:ISO/IEC 14882(1998-9-01)Programming languages—C++3.6 Start and termination)

int main()等同于C99中的int main(void);int main(int argc,char*argv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。

如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++3.2(Linux下的C++编译器)支持。

参考资料:

百度百科——return(C语言语句)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 用C语言,调用函数double求n的阶乘 裂化汽油和分馏汽油可以用溴水鉴别么? 厨房墙砖用300x600还是400x800好 直馏汽油与裂化汽油的区别是什么? 800X800地砖厨房能铺吗??就是客厅及厨房通铺的?也没有过门石,有没有什么优缺点??? 怎么鉴别液体分馏汽油、裂化汽油、乙烯、四氯化碳 用c 语言用函数调用的方法求n的阶乘 如何用化学方式来区分石油分馏所产生的汽油和石油裂化所产生的汽油 厨房墙面砖用400x800的可以吗 石油分馏出的汽油成份是什么?石油裂化的目的是什么?裂解的目的是什么?直馏汽油和裂化汽油有什么区别? 直溜汽油与裂化汽油的区别 分馏,裂化,裂解等有何区别 高一化学 石油的分馏与裂化裂解有什么不同,裂化裂解是用石油吗,产物有什么不同 石油分馏与催化裂化得到的汽油有什么不同? 分馏得到的石油和裂化得到的石油有什么区别 白色蕾丝衣服上弄上碘伏了怎么去掉 请问专利权期限的起算点是什么意思? 留守儿童的小品 紧急寻求农村小品题材,反映农村留守儿童&#92;留守妇女和留守老人的生活题材,情节感人,有好创意帮忙提供,谢谢!! 谁能给我提供适合小学生演的小品或相声最好有台词又有MTV 的 墙砖用300x600还是400x800好 如何c语言自定义一个函数及调用它,请用一个计算n的阶乘的函数为例。 用c编写程序,其中利用子函数fun实现计算n(n为函数参数)的阶乘n!在主函数中调用 裂化汽油 裂解汽油指什么? C语言编写一个n的阶乘函数 如何鉴别直馏汽油和裂化汽油? 军事.文莱这个国家真他妈有钱.石油就是多.美国怎么不占了这地? 为什么美国不侵略加拿大澳洲这类资源大国总是和中国过不去? 新加坡、文莱、东帝汶这么小,为什么没有被其他国家吞并呢 美国为什么不轻易进攻他们的邻国,那些和他们并不和睦的而实际没什么实力的邻国? 天津巴黎春天婚纱摄影和金海岸哪个好呢? 中国为何不去打文莱 巴黎春天婚纱摄影和巴黎婚纱摄影一样吗? 美国为什么不打欧洲国家 南昌巴黎春天婚纱摄影有限公司怎么样? 大连开发区巴黎春天婚纱摄影好坏? 为什么美国总是打中东一些国家啊。怎么不打非洲啊。非洲不是很穷吗 太平洋战争,美国把日本打回老家。为什么美国战后没有选择接管侵占这些国家,比如东南亚,太平洋很多岛屿 美国为什么不敢打委内瑞拉 JSP 查询ORACLE数据库给静态table的TD赋值