标签:PAT int sum2 long sum1 printf print 20 1034
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
long long int a,b,c,d,sum1,sum2;
int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
void print(long long int a,long long int b)
{
long long int s;
double flag; flag=a*1.0/b;
s=a/b;
a=a-s*b;
long long int temp=gcd(a,b);
a=a/temp;
b=b/temp;
if(flag<0)
{
a=abs(a),b=abs(b),s=abs(s);
if(s||a==0)
{
if(a==0) printf("(%d)",s*-1);
else printf("(%d %d/%d)",s*-1,a,b);
}
else printf("(%d/%d)",a*-1,b);
}
else
{
if(s||a==0)
{
if(a==0) printf("%d",s);
else printf("%d %d/%d",s,a,b);
}
else printf("%d/%d",a,b);
}
}
int main(void)
{
scanf("%lld/%lld %lld/%lld",&a,&b,&c,&d);
sum2=b*d/gcd(b,d);
sum1=a*sum2/b+c*sum2/d;
print(a,b); printf(" + "); print(c,d); printf(" = "); print(sum1,sum2); printf("\n");
sum1=a*sum2/b-c*sum2/d;
print(a,b); printf(" - "); print(c,d); printf(" = "); print(sum1,sum2); printf("\n");
sum2=b*d;
sum1=a*c;
print(a,b); printf(" * "); print(c,d); printf(" = "); print(sum1,sum2); printf("\n");
sum1=a*d;
sum2=b*c;
if(c==0)
{
print(a,b); printf(" / "); print(c,d); printf(" = "); printf("Inf"); printf("\n");
}
else
{
print(a,b); printf(" / "); print(c,d); printf(" = "); print(sum1,sum2); printf("\n");
}
return 0;
}
标签:PAT,int,sum2,long,sum1,printf,print,20,1034 来源: https://blog.csdn.net/qq_46527915/article/details/118580316
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。