Description:
简单计算器
1、 功能:实现整数的加、减、乘、除、取余、累加、阶乘、阶乘和等运算。
2、 函数原型
int add(int a,int b); //两个整数相加
int sub(int a,int b); //两个整数相减
int multiply(int a, int b); //两个整数相乘
int divide(int a,int b); //两个整数相除求商
int remain(int a,int b); //两个整数求余
int sum(int m,int n); //求从m到n累加的和
int facial(int n); //求n!,用递归和非递归两种方法实现
int sumfacial(int n); //求1!+2!+…..+n!
/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 文件名称:计算器.cpp
* 作 者:svitter
* 完成日期:2012 年 7 月 17 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:关于圆的半径,立体几何的高
* 问题描述:输入关于圆的信息,得到圆的几何信息。
* 程序输出:圆的相关信息
* 问题分析:略
* 算法设计:略
*/
#include <stdio.h>
void main()
{
int add(int a,int b);
int sub(int a,int b);
int muiltiply(int a,int b);
int remain(int a,int b);
int sum(int m,int n);
int facial(int n);
int sumfacial(int n);
int divide(int a,int b);
void menu(int a,int b,int n,int select);
int a,b,n,select;
menu(a,b,n,select);
}
int add(int a, int b)
{
return (a+b);
}
int sub(int a,int b)
{
return a-b;
}
int muiltiply(int a, int b)
{
return a*b;
}
int remain(int a,int b) //两个整数求余
{
return a%b;
}
int sum(int m,int n) //求从m到n累加的和
{
return (m+n)*(n-m+1)/2;
}
/*int facial(int n) //求n!,用递归和非递归两种方法实现
{
int sum=1;
for(int i = 1; i<=n; i++)
{
sum = sum*i;
}
return sum;
}*/
int facial(int n)//递归
{
if (n!=1)
{
return n*facial(n-1);
}
else
{
return n;
}
}
int sumfacial(int n) //求1!+2!+…..+n!
{
int sum = 0;
for(int i = 1; i<=n; i++)
{
sum = sum+facial(i);
}
return sum;
}
int divide(int a, int b)
{
return a/b;
}
void menu(int a, int b, int n,int select)
{
while(select!=0)
{
printf("****************计算器****************\n");
printf("1,进行加法运算\n2.进行减法运算\n3.进行乘法运算\n");
printf("4.进行除法运算\n5.进行连加运算\n6.进行阶乘运算\n7.进行阶乘加法运算\n");
printf("8.按0退出\n");
printf("请输入你需要的编号:");
scanf("%d",&select);
if(select==1)
{
printf("请输入第一个数字:");
scanf("%d",&a);
printf("请输入第二个数字:");
scanf("%d",&b);
printf("结果为:%d\n",add(a,b));
}
if(select==2)
{
printf("请输入被减数:");
scanf("%d",&a);
printf("请输入减数:");
scanf("%d",&b);
printf("结果为:%d\n",sub(a,b));
}
if(select==3)
{
printf("请输入第一个数字:");
scanf("%d",&a);
printf("请输入第二个数字:");
scanf("%d",&b);
printf("结果为:%d\n",muiltiply(a,b));
}
if(select==4)
{
printf("请输入被除数:");
scanf("%d",&a);
printf("请输入除数:");
scanf("%d",&b);
printf("结果为:%d\n",divide(a,b));
}
if(select==5)
{
printf("请输入较小数字:");
scanf("%d",&a);
printf("请输入较大数字:");
scanf("%d",&b);
printf("结果为:%d\n",sum(a,b));
}
if(select==6)
{
printf("请输入数字:");
scanf("%d",&n);
printf("结果为:%d\n",facial(n));
}
if(select==7)
{
printf("请输入数字:");
scanf("%d",&n);
printf("结果为:%d\n",sumfacial(n));
}
}
}