作业求助 批量数组
老师要统计班里每个人的生日,并按照出生日期从早到晚排序。输入格式:第一行一个整数 n(1≤n≤100),班级班级的人数。接下来 n 行,每行包含一个字符串 s 和三个整数 y,m,d,表示姓名为 s 的同学出生日期是 y 年 m 月 d 日。保证所有日期合法,姓名由小写字母构成,不超过 20 个字符。
输出格式:输出 n 行,每行一个字符串表示姓名。如果有两个同学出生日期相同,输入靠后的同学先输出。 求求各位大佬理我一下{:10_266:} c语言玩这东西,比较麻烦 #include <stdio.h>
int main()
{
int N, m, i, j;
scanf("%d", &N);
struct stu
{
char name;
int year;
int month;
int day;
} stu, t;
for (m = 0; m < N; m++)
{
scanf("%s", stu.name);
scanf("%d %d %d", &stu.year, &stu.month, &stu.day);
}
for (i = 0; i < N; i++)
{
for (j = i + 1; j < N; j++)
{
}
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (stu.year > stu.year)
{
t = stu;
stu = stu;
stu = t;
}
else if (stu.year == stu.year)
{
if (stu.month > stu.month)
{
t = stu;
stu = stu;
stu = t;
}
else if (stu.month == stu.month)
{
if (stu.day >= stu.day)
{
t = stu;
stu = stu;
stu = t;
}
}
}
}
}
for (m = 0; m < N; m++)
printf("%s\n", stu.name);
return 0;
}
} 好我自问自答! 你可以的,把问题解决了
页:
[1]