老鼠排队(结构体问题)
有N只小白鼠(1<N<100),每只小白鼠头上戴着一顶有颜色的帽子。现在称出了每只小白鼠的重量,要求按照小白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。假设所有小白鼠的重量都是一个整数。 #include<stdio.h>
#include<string.h>
struct Mouse{
int weight[100];
char capcolor[100];
};
int main()
{
int i,n,j,t;
struct Mouse a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %s",&a[i].weight,a[i].capcolor);
}
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j].weight<a[j+1].weight)
{
t=a[j].weight;
a[j].weight=a[j+1].weight;
a[j+1].weight=a[j].weight;
}
for(i=0;i<n;i++)
printf("%s\n",a[i].capcolor);
return 0;
}
能帮我看看这个程序吗?有一个错误,我不知道该怎么改。