编写函数fun,计算n!

#include <stdio.h>

double fun ( int n )
{ double result = 1.0 ;
/************found************/
if (n==0)
return 1.0 ;
while( n >1 && n < 170 )
/************found************/
result *= n--;
return result ;
}

main ( )
{ int n ;
printf("Input N:") ;
scanf("%d", &n) ;
printf("\n\n%d! =%lf\n\n", n, fun(n)) ;
}

根据阶乘的概念,从n开始,n!=n*(n-1)!,所以应该为result *=n--

时间: 2024-11-07 23:59:17

编写函数fun,计算n!的相关文章

编写一个函数,计算三个数字的大小,按从小到大的顺序输出。

[超简单的三人之间数据交换] 挺像魔术师扔球球,魔术师扔球球,魔术师扔球球,魔术师扔球球,你说像不像~~~~~~~~~~像不像~~~~~~·像不像 1 //编写一个函数,计算三个数字的大小,按从小到大的顺序输出. 2 function order(a,b,c) { 3 var temp; 4 var str; 5 if (a>b) { 6 temp = a ; 7 a = b ; 8 b = temp ; 9 } 10 if (b>c) { 11 temp = b; 12 b = c ; 13

提高代码质量:如何编写函数

阅读目录 命名 函数参数 编写函数体 总结 函数是实现程序功能的最基本单位,每一个程序都是由一个个最基本的函数构成的.写好一个函数是提高程序代码质量最关键的一步.本文就函数的编写,从函数命名,代码分布,技巧等方面入手,谈谈如何写好一个可读性高.易维护,易测试的函数. 回到顶部 命名 首先从命名说起,命名是提高可读性的第一步.如何为变量和函数命名一直是开发者心中的痛点之一,对于母语非英语的我们来说,更是难上加难.下面我来说说如何为函数命名的一些想法和感受: 采用统一的命名规则 在谈及如何为函数取一

利用Excel函数多角度计算个人所得税

新个税征收方法已与2011年9月1日起施行,但计算方法变更改后,有关这方面的计算方法在网络论坛上讨论较多,但在新旧交替时期正误混杂,新人难以分辨.在现实中根本就找不到这方面的经典计算方法,ExcelHome论坛超级版主.微软最有价值专家MVP黄成武归纳总结一下计算方法,最终目的是给大家拓展函数使用的技巧和思路,在陶醉于函数奇妙.经典的运用中,感叹Excel博大精深,同时又是加强练习Excel函数的绝佳机会. 一.个税计算最新税率表 级数 全月应纳税所得额 税率 扣除数 1       不超过15

Python之编写函数

Python之编写函数 在Python中,定义一个函数要使用 def 语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回. 我们以自定义一个求绝对值的 my_abs 函数为例: def my_abs(x): if x >= 0: return x else: return -x 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没

编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个对立的元素存于vector中

#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc,char *argv[]) { ifstream input(argv[1]); vector<string> vec; string tmp; while(getline(input,tmp)) { vec.push_back(

【C语言】编写函数实现库函数atof

//编写函数实现库函数atof #include <stdio.h> #include <assert.h> #include <ctype.h> #include <math.h> double calculate(const char *src, int flag) { double num = 0.0; int n = 0; int count = 0; while (*src) { if ((*src >= '0') && (*

编写函数返回值value的二进制模式从左到右翻转后的值

编写函数: unsigned int  reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值. 例如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 观察输出的结果是将输入的数的二进制逆序排列的值. 代码如下: #include<

已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy

已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串.不调用C++/C 的字符串库函数,请编写函数 strcpy. /*编写strcpy函数(10分)已知strcpy函数的原型是??? char *strcpy(char *strDest, const char *strSrc);??? 其中strDest是目的字符串,strSrc是源字符串.(1)不调用C++/C的字

【C语言】编写函数,将一个数的指定位置置0或置1

//编写函数,将一个数的指定位置置0或置1 #include <stdio.h> unsigned int set_bit(unsigned int num, int pos, int flag) { int n = 1; n = n << (pos - 1); //将n的第pos位置1,其它全为0 if (flag == 0) { num = num&(~n); } else if (flag == 1) { num = num | n; } else printf(&q