“闲”出来的程序

我在家闲的长出了蘑菇,编程又不知道做啥,干脆把以前做的数学程序程序做个合集。

#include <bits/stdc++.h>     //无敌万能库 
using namespace std;


int main()
{
	//定义变量 
	int xz,i,j,n,m;                                                                     //全局
	int a[15],t;                                                                         //排序
	int sx,mx,xs,gc,slh;                                                                 //等差数列
	int n1,n2,ts,js,sw1,sw2,jsh,c,sw1_zs,sw2_zs;                                         //鸡兔同笼
	int high,bottom1,bottom2,r;                                                          //几何问题
	int lc,speed1,speed2,time;                                                           //相遇问题 
	//定义常量 
	const float PI = 3.14;																 //几何问题:圆周率 
	
	
	cout<<"请输入计算公式(1排序,2等差数列,3计算器,4鸡兔同笼,5几何问题,6相遇问题,7最大公约数):";cin>> xz;
	
	
	//排序 
	if (xz == 1)   //此方法是冒泡排序,用到了数组。 
	{
		cout<<"请输入要排序数字的个数(最多15个):";cin>>n;
		for(i=1;i<=n;i++)
		{
			cout<<"第"<<i<<"个数:";
			cin>>a[i];
		}
		for(i=1;i<=n-1;i++)
		{
			for(j=1;j<=n-i;j++)
			{
				if(a[j] > a[j+1])
				{
					t = a[j];
					a[j]=a[j+1];
					a[j+1] = t; 
				} 
			}
		}
		cout<<"排好后的顺序是:";
		for(i=1;i<=n;i++)
		    cout<<a[i]<<"  ";
	}
	
	//等差数列 
	else if(xz == 2)
	{
		cout<<"请输入要计算的(1首项,2末项,3项数,4数列和):";cin>> xz;
		if (xz == 1)
		{
			cout<<"请输入末项:";
			cin>>mx;
			cout<<"请输入项数:";
			cin>>xs;
			cout<<"请输入公差:";
			cin>>gc;
			sx=mx-(xs-1)*gc;
			cout<<"首项是:"<<sx; 
		}else if(xz == 2)
		{
			cout<<"请输入首项:";
			cin>>sx;
			cout<<"请输入项数:";
			cin>>xs;
			cout<<"请输入公差:";
			cin>>gc;
			mx=sx+(xs-1)*gc;
			cout<<"末项是:"<<mx;
		}else if(xz == 3)
		{
			cout<<"请输入末项:";
			cin>>mx;
			cout<<"请输入首项:";
			cin>>sx;
			cout<<"请输入公差:";
			cin>>gc;
			xs=(mx-sx)/gc+1;
			cout<<"项数是:"<<xs;		
		}else{
			cout<<"请输入首项:";
			cin>>sx;
			cout<<"请输入末项:";
			cin>>mx;
			cout<<"请输入项数:";
			cin>>xs;
			slh=(sx+mx)*xs/2;
			cout<<"数列和是:"<<slh;		
	    }
	}
	
	//计算器 
	else if(xz == 3)
	{
		cout<<"请输入运算方法(1加法,2减法,3乘法,4除法):";cin>> xz;
		cout<<"请输入第一个数字:";cin>>n1;
		cout<<"请输入第二个数字:";cin>>n2;
		if(xz == 1)
			cout<<n1+n2;
		else if(xz == 2)
			cout<<n1-n2;
		else if(xz == 3)
		  	cout<<n1*n2;
		else
			cout<<n1/n2;
	}
	
	//鸡兔同笼 
	else if(xz == 4)
	{
		cout<<"请输入一共有几条腿:";cin>>js;
		cout<<"请输入一共有多少个头(一共的只数):";cin>>ts;
		cout<<"请输入生物1一只的腿数:";cin>>sw1;
		cout<<"请输入生物2一只的腿数:";cin>>sw2;
		if (sw1 > sw2)
		{
			jsh = sw2*ts;
			c = js - jsh;
			sw1_zs = c/(sw1 - sw2);
			sw2_zs = ts - sw1_zs;
		}
		else
		{
		    jsh = sw1*ts;
			c = js - jsh;
			sw2_zs = c/(sw2 - sw1);
			sw1_zs = ts - sw2_zs;
		}
		cout<<"生物一有"<<sw1_zs<<"只"<<endl;
		cout<<"生物二有"<<sw2_zs<<"只"<<endl;
	}
	
	//几何问题 
	else if(xz == 5)
	{
		cout<<"请输入你要计算的图形(1平行四边形和长方形,2三角形,3梯形,4圆)";cin>>xz;
		if (xz == 1)
		{
			cout<<"请输入高(长):";cin>>high;
			cout<<"请输入底(宽):";cin>>bottom1;
			cout<<"面积是"<<high*bottom1<<endl;
			cout<<"周长是"<<(high+bottom1)*2;
		}
		else if(xz == 2)
		{
			cout<<"请输入高:";cin>>high;
			cout<<"请输入底:";cin>>bottom1;
			cout<<"面积是"<<high*bottom1/2<<endl;
		}
		else if(xz == 3)
		{
			cout<<"请输入高:";cin>>high;
			cout<<"请输入上底:";cin>>bottom1;
			cout<<"请输入下底:";cin>>bottom2;
			cout<<"面积是"<<(bottom1+bottom2)*high/2<<endl;
		}
		else
		{
			cout<<"请输入半径:";cin>>r;
			cout<<"面积是"<<PI*r*r<<endl;
			cout<<"周长是"<<2*PI*r<<endl;
		}
	}
	
	//相遇问题 
	else if(xz == 6)
	{
		cout<<"你要求什么(1求路程和,2求其中一人的速度,3求时间):";cin>>xz;
		if (xz == 1)
		{
			cout<<"请输入甲的速度:";cin>>speed1;
			cout<<"请输入乙的速度:";cin>>speed2;
			cout<<"请输入相遇时间:";cin>>time;
			lc = (speed1 + speed2)*time;
			cout<<"路程和是"<<lc;
		}
		else if(xz == 2)
		{
			cout<<"请输入路程和:";cin>>lc;
			cout<<"请输入乙的速度:";cin>>speed2;
			cout<<"请输入相遇时间:";cin>>time;
			speed1 = lc / time - speed2;
			cout<<"甲的速度是"<<speed1;
		}
		else
		{
			cout<<"请输入甲的速度:";cin>>speed1;
			cout<<"请输入乙的速度:";cin>>speed2;
			cout<<"请输入路程和:";cin>>lc;
			time = lc/(speed1 + speed2);
			cout<<"相遇时间是"<<time;
		}
	}
	
	else if(xz == 7)
	{
		cout<<"请输入一个正整数:";cin>>m;
		cout<<"请再输入一个正整数:";cin>>n;
		i = m%n;

		while (i != 0)
		{
			m=n;
			n=i;
			i=m%n;
	}
	cout<<"他们的最大公约数是"<<n<<endl;
	}
}

做的确实不怎么好,全程用cout和cin而没用printf和scanf,鸡兔同笼还有问题,类型太少了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值