C语言从键盘输入十个真分数,按照分子⼀分母的顺序输入。按分数值从小到大排序,要求用结构体数组来处理

2025-05-20 14:47:28
推荐回答(1个)
回答1:

#include 
typedef struct {int a;int b;}frac; 
int main(void) 
{
frac a[10],t;
int i,j;
for(i=0;i<10;++i)
scanf("%d / %d",&a[i].a,&a[i].b);
for(i=0;i<10;++i)
{
for(j=0;j<10-1-i;++j)
{
if((double)a[j].a/a[j].b>(double)a[j+1].a/a[j+1].b)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;++i)
printf("%d / %d\n",a[i].a,a[i].b);
return 0;
}