㈠ 用c语言编写计算器
#include"stdio.h"
/*预处理命令*/
void main()
/*主函数*/
{
double a,b;
/*双精度实型变量说明*/
char c,d;
/*变量说明*/
do
/*循环体*/
{
printf("input a (-*/)b\n");
/*输入提示*/
scanf("%lf%c%lf",&a,&c,&b);
/*输入算术表达式*/
if(c==' ')
/*判断 */
printf("=%0.2f",a b);
/*输出a b的值*/
else if(c=='-')
/*判断-*/
printf("=%0.2f",a-b);
/*输出a-b的值*/
else if(c=='*')
/*判断**/
printf("=%0.2f",a*b);
/*输出a*b的值*/
else if(c=='/')
/*判断/*/
printf("=%0.3f",a/b);
/*输出a/b*/
else
/*不满足以上条件*/
printf("error");
/*输出错误*/
printf("\n\ninput\n");
/*输入\n*/
scanf("%c",&d);
/*输入符号给d*/
}
/*循环体结束*/
while(d=='\n');
/*循环条件语句*/
}
㈡ C语言中有计算阶乘的函数吗 不是自己写,,,是那种可以直接调用的函数
#include<stdio.h>
voidmain(){
intn,result;
printf("请输入一个数字,求它的阶乘:");
scanf("%d",&n);
result=calc(n);
printf("结果:%d",result);
}
intcalc(intn){
intresult=1,i;
for(i=n;i>=1;i--)
result=result*i;
returnresult;
}
(2)c语言阶乘计算器扩展阅读
C语言函数的调用
函数定义好以后,要被其它函数调用了才能被执行。C语言的函数是能相互调用的,但在调用函数前,必须对函数的类型进行说明,就算是标准库函数也不例外。
标准库函数的说明会被按功能分别写在不一样的头文件中,使用时只要在文件最前面用#include预处理语句引入相应的头文件。如前面使用的printf函数的说明是放在文件名为stdio.h的头文件中。
㈢ C语言,求n阶乘的代码
思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可。
#include <stdio.h>
int main()
{
int i, n;
int sum = 1;
printf("请输入n: ");
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum = sum*i;
}
printf("n的阶乘是%d ", sum);
return 0;
}
定义范围
通常所说的阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶乘。
以上内容参考:网络-n!
㈣ 阶乘c语言代码
方衡裤法如下:
/*This program can calculate the factorial of (int n).*/
#include <stdio.h>
int factorial(int n)
{
return (n == 1)?n:factorial(n-1)*n;//recursion.
}
int main(void)
{
int n,fac;
printf("Please input the value of n:");//initialize n.
scanf("%d",&n);
fac = factorial(n)//variable fac is not necessary.
printf("The result is:%d ",fac);
return 0;
}
相关内容:
阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义核缺为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶改拦辩乘。
㈤ 阶乘如何用c语言实现
1、首先打开CodeBlocks编辑器,新建一个空白页面,写入头文件和主函数:
㈥ C语言中如何编程计算阶乘
常见的有两种:
递归版本:
intFac(intn){
if(n==0)return1;
returnn*Fac(n-1);
}
还有一种是循环版:
intans=1;
for(inti=1;i<=n;i++)ans*=i;
测试方法:
#include<stdio.h>
intFac(intn){
if(n==0)return1;
returnn*Fac(n-1);
}
intmain(){
intn;
while(scanf("%d",&n)!=EOF){
intans=1;
for(inti=1;i<=n;i++)ans*=i;
printf("%d%d ",ans,Fac(n));
}
return0;
}
有个值得注意的地方:阶乘时,数增大的很快,在n达到13时就会超过int的范围,此时可以用long long或是 __int64来存储更高精度的值,如果还想存储更高位的,需要用数组来模拟大数相乘。