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)); } } }