1034 有理数四则运算 (20 分)

没啥难的,注意的是要用long long int

还有个gcd()

没了

#include<iostream>
#include<string>
#include<math.h>
#include<algorithm>
#include<map>
using namespace std;
int gcd(long long int a,long long int b){
	if(b==0)
	return a;
	else return gcd(b,a%b);
}
void method(long long int a,long long int b){
	if(b<0){
		a=-a;
		b=-b;
	}
	long long int t1,t2;
	t1=max(abs(a),b);
	t2=min(abs(a),b);
	int g=gcd(t1,t2);
	a=a/g;
	b=b/g;
	
	if(a<b&&a>0){
		printf("%lld/%lld",a,b);
	}
	else if(a==b)
	printf("1");
	else if(a==0)
	printf("0");
	else if(a>b){
		printf("%lld",a/b);
		if(a%b!=0)
		printf(" %lld/%lld",a%b,b);
	}
	else
	{
		printf("(-");
		method(abs(a),b);
		printf(")");
		
	}
}
void result(long long int a,long long int b,long long int c,long long int d,char s){
	
	switch(s){
		case '+':
		method(a*d+b*c,b*d);break;
	case '-':
		method(a*d-b*c,b*d);break;
	case '*':
		method(a*c,b*d);break;
	case '/':
		{
		if(c==0){
			printf("Inf");
			break;
		}
		
		else{
			 method(a*d,b*c);break;} 
			 
		}
		
		
	}
	
}
int main() {
long long 	int a,b,c,d;
	scanf("%lld/%lld %lld/%lld",&a,&b,&c,&d);
	//+
	method(a,b);
	printf(" + ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'+');
	cout<<endl;
	//-
	method(a,b);
	printf(" - ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'-');
	cout<<endl;
	//*
	method(a,b);
	printf(" * ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'*');
	cout<<endl;
	///
	method(a,b);
	printf(" / ");
	method(c,d);
	printf(" = ");
	result(a,b,c,d,'/');

}

 

 
 
G
M
T
Y
 
 
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语
 
世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语
 
 
 
 
 
 
 
 
 
文本转语音功能仅限200个字符
 
 
选项 : 历史 : 反馈 : Donate 关闭
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章