test 03

版权声明:沉迷代码,难以自拔 https://blog.csdn.net/qq_33846054/article/details/50984009

OJ 967
给你2个长度相同的字符串数组,请交换2个数组的内容。
本题要求必须使用函数传参来实现!
Input
输入数据有多组,每组第1行为n( 2<=n<=10),接下来输入2行,每行都为n个字符串(串的长度小于20);
Output
请输出交换后的2组串。
Sample Input
3
crise tear tire
base bind dipaloma
Sample Output
base bind dipaloma
crise tear tire

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
//形式参数和实际参数名称可以相同,因为C++支持方法的重载。
void shuru(char a[][20],char b[][20],int n)
{
    int i;
    for (i=0;i<n;i++)
        scanf ("%s",a[i]);
        for (i=0;i<n;i++)
        scanf ("%s",b[i]);
}
//不用加什么吗?每碰到一个空格,数组就进入下一行了
void shuchu(char a[][20],char b[][20],int n)
{
    int i;
    for (i=0;i<n;i++)
        printf("%s ",a[i]);
 printf ("\n");
        for (i=0;i<n;i++)
        printf("%s ",b[i]);
}
void haha(**char a[][20],**char b[][20],int n)
{
    char  temp[20];
    for (int i=0;i<n;i++)
    {
        strcpy(temp,a[i]);
         strcpy(a[i],b[i]);
          strcpy(b[i],temp);
    }

}

int main()
{
    char a[10][20],b[10][20];
    int n;
    while (cin>>n)
    {
        shuru(a,b,n);
        haha(a,b,n);
        shuchu(a,b,n);

    }

      return 0;

}

void shuru (char a[][20],int n)
就可以解决未知长度数组的输入问题了。

猜你喜欢

转载自blog.csdn.net/qq_33846054/article/details/50984009