#include <stdio.h>
#define N 10
#define M 20
void invert(char *p[], int n)
{
///程序填空,请将该函数填写完整
}
int main( )
{
char str[N][M], *p[10];
int i, n;
scanf("%d%*c", &n);
for(i = 0; i < n; i++)
{
gets(str[i]);
p[i] = str[i];
}
invert(p, n);
for(i = 0; i < n; i++)
puts(p[i]);
return 0;
}
注意:请务必提交完整的程序代码,不要修改代码框架
输入
输入包含n + 1行:
第一行是n(1 <= n <= 10)。
第二行到n + 1行每行为一个字符串,长度均不超过20。
输出
输出处理后的字符串数组,每行为一个字符串。
输入示例
Slovak
China
Japan
England
Sweden
Lithuania
Monaco
Croatia
Malta
Luxembourg
输出示例
Luxembourg
Malta
Croatia
Monaco
Lithuania
Sweden
England
Japan
China
Slovak
数据范围
输入为int范围内的整数和字符串,并且每行输入字符串长度不超过20
#include <stdio.h>
#define N 10
#define M 20
void invert(char *p[], int n){
int i,j;
char temp[1][20];
if(n%2==0){
for(i=0;i<n/2;i++){
strcpy(temp[0],*(p+i));
strcpy(*(p+i),*(p+n-1-i));
strcpy(*(p+n-1-i),temp[0]);
}
}
if(n%2!=0){
for(i=0;i<(n-1)/2;i++){
strcpy(temp[0],*(p+i));
strcpy(*(p+i),*(p+n-1-i));
strcpy(*(p+n-1-i),temp[0]);
}
}
}
int main( )
{
char str[N][M], *p[10];
int i, n;
scanf("%d%*c", &n);
for(i = 0; i < n; i++)
{
gets(str[i]);
p[i] = str[i];
}
invert(p, n);
for(i = 0; i < n; i++)
puts(p[i]);
return 0;
}