C语言编程06.09

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





转载于:https://my.oschina.net/u/1017188/blog/333755

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值