您的位置:首页 > 其它

字符串逆序输出

2012-10-26 20:48 260 查看

字符串逆序输出

时间限制:3000 ms | 内存限制:65535 KB
难度:0

描述
给定一行字符,逆序输出此行(空格.数字不输出)

输入 第一行是一个整数N(N<10)表示测试数据的组数)

每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取)。

每行字符长度不超过40

并且保证输入的字符只有空格(1个),数字,小写字母三种 输出 对应每行测试数据,逆序输出(空格和数字不输出) 样例输入
3
abc 123de
abc 123
abc d

样例输出
edcba
cba
dcba


#include <stdio.h>
#include <string.h>
int main()
{
int n,i,k;
char str[40],ch;
scanf("%d",&n);
ch=getchar();
while(n--)
{

fgets(str,sizeof(str),stdin);
k=strlen(str);
for(i=k-1;i>=0;i--)
{
if(str[i]>='a'&&str[i]<='z')
printf("%c",str[i]);
}
printf("\n");
}
return 0;
}


第二种

#include<stdio.h>
#include<string.h>
int main()
{
char a[42],b[42],i,t,l;
scanf("%d",&t);
while(t--)
{
scanf("%s%s",a,b);

l=strlen(b);
for(i=l-1;i>=0;i--)
if(b[i]>='a'&&b[i]<='z')
printf("%c",b[i]);

l=strlen(a);
for(i=l-1;i>=0;i--)
if(a[i]>='a'&&a[i]<='z')
printf("%c",a[i]);
printf("\n");

}
return 0;
}


第三种

#include <stdio.h>
void revers()
{
char c;
if((c = getchar()) != '\n')
revers();
if(c != '\n'&&c>='a'&&c<='z')
putchar(c);
}

int main()
{
int a;
scanf("%d\n",&a);
while(a--)
{
revers();
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: