道友们好,昨天在看比赛,因此忘掉了。我在这说声抱歉,我会把昨天的补上。edg牛逼。
废话不多说,看题目:
题目内容:
利用人工方式比较分数大小的最常见的方法是:对分数进行通分后比较分子的大小。请编程模拟手工比较两个分数的大小。首先输入两个分数分子分母的值,例如"11/13,17/19",比较分数大小后输出相应的提示信息。例如,第一个分数11/13小于第二个分数17/19,则输出"11/13<17/19"。
对于这道题我有两种解法
1)通分 2)转换成小数
#include<stdio.h>
int main()
{
int a,b,c,d,e,f;
printf("Input a/b, c/d:" );
scanf("%d/%d,%d/%d",&a,&b,&c,&d);
e=a*d;
f=b*c;
if(e>f)
{
printf("%d/%d>%d/%d\n",a,b,c,d);
}
else if(e<f)
{
printf("%d/%d<%d/%d\n",a,b,c,d);
}
else
{
printf("%d/%d=%d/%d\n",a,b,c,d);
}
return 0;
}
#include<stdio.h>
int main()
{
int a,b,c,d;
printf("Input a/b, c/d:" );
scanf("%d/%d,%d/%d",&a,&b,&c,&d);
if((float) a / b > (float) c / d)
{
printf("%d/%d>%d/%d\n",a,b,c,d);
}
else if((float) a / b < (float) c / d)
{
printf("%d/%d<%d/%d\n",a,b,c,d);
}
else
{
printf("%d/%d=%d/%d\n",a,b,c,d);
}
return 0;
}