作业帮 > 综合 > 作业

C++字符串交换,交换两个不同长度的字符串指针,分别输出之.要求:用函数调用的方式来实现.主函数中定义两个字符串,然后调

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 03:15:19
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
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str1, str2;
    int n, k = 1;
    cin >> n;
    while (n--)
    {
        cin >> str1 >> str2;
        cout << "Case " << k++ << ":" << endl;
        cout << str2 << endl;
        cout << str1 << endl;
    }
    return 0;
}
再问: 我还没学那么多,你写的我看不懂……
再答: #include<stdio.h>
#include<string.h>

int main()
{
    char a[80], b[80];
    int n, k = 1;
    scanf("%d", &n);
    while (n--)
    {
        scanf("%s", &a); //& ke bu jia;
        scanf("%s", &b);
        printf("Case %d:\n", k++);
        printf("%s\n", b);
        printf("%s\n", a);
    }
    return 0;
}