C++字符串交换,交换两个不同长度的字符串指针,分别输出之.要求:用函数调用的方式来实现.主函数中定义两个字符串,然后调用交换函数.如将:x=“I am a good teacher.”与Y=“Hello good morning .”进行交换.输入输入的第1行是一个整数n,表示有n组测试数据.接下来是n组测试数据的描述,每一组测试数据有2行,他们均由一串字符串构成,字符串中允许出现空格,以回车符作为这一行的结束符.两组测试数据之间有一个空行.最后一组数据后面没有空行.输出对输入中的每一组2行测试字符串,先输出“Case #:”,其中“#”是测试数据的编号(从1开始),接着按要求在下面的两行上分别输出这两个经过交换过的字符串.输入样例2I am a good teacher.Hello good morning .123ABCDEF输出样例Case 1:Hello good morning .I am a good teacher.Case 2:ABCDEF123这是我写的程序,不知道为什么第一次

问题描述:

C++字符串交换,
交换两个不同长度的字符串指针,分别输出之.
要求:用函数调用的方式来实现.主函数中定义两个字符串,然后调用交换函数.如将:
x=“I am a good teacher.”与Y=“Hello good morning .”进行交换.
输入
输入的第1行是一个整数n,表示有n组测试数据.接下来是n组测试数据的描述,每一组测试数据有2行,他们均由一串字符串构成,字符串中允许出现空格,以回车符作为这一行的结束符.两组测试数据之间有一个空行.最后一组数据后面没有空行.
输出
对输入中的每一组2行测试字符串,先输出“Case #:”,其中“#”是测试数据的编号(从1开始),接着按要求在下面的两行上分别输出这两个经过交换过的字符串.
输入样例
2
I am a good teacher.
Hello good morning .
123
ABCDEF
输出样例
Case 1:
Hello good morning .
I am a good teacher.
Case 2:
ABCDEF
123
这是我写的程序,不知道为什么第一次get(a)总是没有要我输入就跳到get(b)里去了,导致第一次输出只有一个字符串,还有我没有批量输入和输出,这个我不会,
#include
#include
void jh(char *a,char *b)
{
char x[100];
strcpy(x,a);
strcpy(a,b);
strcpy(b,x);
}
int main()
{
int n,i;
char a[80],b[80];
scanf("%d",&n);
for(i=1;i