#include
struct friend
{
char name[10],num[20];
int birthday;
};
int main()
{
int i,n,j,t;
struct friend a[20];
printf("Input n:");
scanf("%d",&n);
for(i=0;iprintf("Input the name,birthday,number of the %d friend:",i+1);
scanf("%s%d%s",a[i].name,&a[i].birthday,a[i].num);
for(i=1;ifor(j=0;j-1;j++)
if(a[j].birthday1].dirthday)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;iprintf("%s%d%s",a[i].name,&a[i].birthday,a[i].num);
return 0;
}
全是错误,我不知道怎么改了
friend是c++的关键字,因此将结构体类型命名为friend是不合法的,后面的功能已帮你完善。
#include<stdio.h>
struct friends
{
char name[10];
char num[20];
int birthday;
};
int main()
{
int i,n,j;
struct friends man[20];
struct friends temp;
printf("Input n:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Input the name,birthday,number of the %d friend:\n",i+1);
scanf("%s %d %s",man[i].name,&man[i].birthday,man[i].num);
}
//冒泡排序
for (i = 1; i <= n-1; i++)
{
for (j = 0; j <= n - i-1; j++)
{
if (man[j].birthday < man[j+1].birthday)
{
temp = man[j];
man[j] = man[j + 1];
man[j + 1] = temp;
}
}
}
for(i=0;i<n;i++)
printf("第%d个:姓名:%s 生日:%d 电话:%s\n",i+1,man[i].name,man[i].birthday,man[i].num);
return 0;
}