版权声明:本人原创文章若需转载请标明出处和作者!沙沙 https://blog.csdn.net/weixin_44143702/article/details/86499182
名单真相
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
马上就要考试了,小银变的非常的紧张(平时不好好的听课),昨天小银得到了一个成绩单,但是小银在打印的时候将名单上人的顺序倒置了,所以小银想知道真正的顺序。
成绩单的每一行包括:姓名 城市 成绩。姓名和城市保证全是小写字母(不超过15个字符),成绩不大于100.
Input
多组输入,每组的第一行输入一个n(1 <= n <= 1000).表示名单上人的数量,接下来n行每行包括人的姓名 城市 成绩。
Output
输出名单的真正的顺序。
Sample Input
3 xiaotong ningbo 100 xiaoyin zhejiang 100 xiaojin jiangxi 100
Sample Output
xiaojin jiangxi 100 xiaoyin zhejiang 100 xiaotong ningbo 100
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct
{
char name[20];
char city[20];
int score;
}a[1010], t;
int main()
{
int n, i;
while(~scanf("%d", &n))
{
memset(a, 0, sizeof(a));//清零数组
for(i = 1; i <= n; i++)
{
scanf("%s", a[i].name);
scanf("%s", a[i].city);
scanf("%d", &a[i].score);
}
for(i = 1; i <= n / 2; i++)
{
t = a[i];
a[i] = a[n - i + 1];
a[n - i + 1] = t;
}//结构体变量间可以直接赋值
for(i = 1; i <= n; i++)
{
printf("%s %s %d\n", a[i].name, a[i].city, a[i].score);
}
}
return 0;
}