输入都是一个个赋值好了的,就是交换顺序和输出的地方出问题了,应该怎么改啊

【问题描述】

有若干一班的学生,由输入指定其名字。每个名字为中间无空格的拼音,长度小于64个字符,不同名字之间有空格。还有若干二班的学生,由输入指定其名字,两组学生的数量相等。为了加强同学间的相互了解,两班各取一名学生组成一个两人值日小组,按照名字的字典序分别排列两组学生名单,然后按照两个序列的顺序,一个一班的学生与一个二班学生组合输出,安排做值日表。

【输入格式】

输入为三行。

第一行每班学生的人数n(1≤n≤200)。

第二行为n个一班学生的姓名,姓名由不含空格的小写字母组成,姓名之间由一个空格分隔。

第三行为n个二班学生的姓名,姓名由不含空格的小写字母组成,姓名之间由一个空格分隔。

【输出格式】

输出为n行,每行为一个值日小组名单,一班学生姓名在前,二班学生姓名在后,两人姓名由一个空格隔开。

【输入样例】

3

zhaolin zhaoli chenqun

zhangyue zhangli niujia

【输出样例】

chenqun niujia

zhaoli zhangli

zhaolin zhangyue

#include <stdio.h>
#include <string.h>
int main()
{
int n, i = 0, i1 = 0, i2 = 0, j = 0, u=0, b = 0, k=0, y = 0, v = 1, x=0,m = 0, z=0;
int shuzi = 0;
int e=0, a=0;
char s[201] = {0}, s1=0, s2=0;
int g=0, h=0, f=0;
char name1[201][65] = {0},name2[201][65]={0};
scanf("%d", &n);
for(v=1;v<=n;v++)
for (k = 1; k <= 65; k++)
{
scanf("%c", &name1[v][k]);
if (name1[v][k] == ' ')
{
v = v + 1;
k = 0;
}
if (name1[v][k] == '\n' && name1[v][k - 1] == '\n' && k != 2)
break;
}
v = 1;
for(v=1;v<=n;v++)
for (m = 1; m <= 65; m++)
{
scanf("%c", &name2[v][m]);
if (name2[v][m] == ' ')
{
v = v + 1;
m = 0;
}
if (name2[v][m] == '\n' && name2[v][m - 1] == '\n' && m != 2)
break;
}
for (u = 1; u <= n-1; u++)
for(v=1;v<=n-1;v++)

        {
            shuzi = strcmp(name1[u], name1[u+1]);
            if (shuzi > 0)
            {
                strcpy(name1[0],name1[u]);
                strcpy(name1[u+1], name1[u]);
                strcpy(name1[u], name1[0]);
            }
        }
for (u = 1; u <= n-1; u++) 
    for(v=1;v<=n-1;v++)
        
        {
            shuzi = strcmp(name2[u], name2[u+1]);
            if (shuzi > 0)
            {
                strcpy(name2[0], name2[u]);
                strcpy(name2[u+1], name2[u]);
                strcpy(name2[u], name2[0]);
            }
        }

for(b=1;b<=n;b++)
{
printf("%s %s", name1[b], name2[b]);
printf("\n");
}

return 0;

}

你试一下我这个呗 看着更简洁
#include<stdio.h>
#include<math.h>
int main(void)
{
char b[200][65],c[200][65];
int n,a,d,e;
scanf("%d",&n);
for(a=0;a<n;a++)
{
scanf("%s",&b[a][65]);
}
for(a=0;a<n;a++)
{
scanf("%s",&c[a][65]);
}
e=d=n;
for(a=0;a<n;a++)
{
printf("%s %s\n",&b[--d][65],&c[--e][65]);
}
return 0;
}