字符串逆序输出
来源:互联网 发布:中山淘宝摄影培训班 编辑:程序博客网 时间:2024/06/05 05:41
字符串逆序输出
时间限制:3000 ms | 内存限制:65535 KB
难度:0
- 描述
- 给定一行字符,逆序输出此行(空格.数字不输出)
- 输入
- 第一行是一个整数N(N<10)表示测试数据的组数)
每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取)。
每行字符长度不超过40
并且保证输入的字符只有空格(1个),数字,小写字母三种 - 输出
- 对应每行测试数据,逆序输出(空格和数字不输出)
- 样例输入
3abc 123deabc 123abc d
- 样例输出
edcbacbadcba
- 来源
- [521521]原创
- 上传者
- ACM_赵铭浩
代码:
#include <iostream>#include <stdio.h> #include <string.h>#include <math.h>#include <vector>#include <queue>#include <stack>#include <map>#include <string>#include <algorithm>using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) {int n;scanf("%d",&n);getchar();while(n--){char input[41];gets(input);//cout<<input<<endl;int length=strlen(input);for(int i=length-1;i>=0;i--){if(input[i]>='a' && input[i]<='z'){printf("%c",input[i]);}}printf("\n");}return 0;}
优秀代码:01.
#include <stdio.h>
02.
void
revers()
03.
{
04.
char
c;
05.
if
((c =
getchar
()) !=
'\n'
)
06.
revers();
07.
if
(c !=
'\n'
&&c>=
'a'
&&c<=
'z'
)
08.
putchar
(c);
09.
}
10.
11.
int
main()
12.
{
13.
int
a;
14.
scanf
(
"%d\n"
,&a);
15.
while
(a--)
16.
{
17.
revers();
18.
printf
(
"\n"
);
19.
}
20.
return
0;
21.
}
代码对比分析:我的代码是先把一行都读入字符数组中,然后再倒序遍历字符数组,根据限制条件进行输出。
优秀代码就比较奇怪,用了递归函数,每次只读一个字符,利用递归函数内部实现的栈暂时存储读入的字符,最后遇到换行符时,递归回上层进行依次输出,实现了倒序。好处是不用自己申请空间,但递归函数应该是比较费时的。
收获:
利用递归函数来实现数据的存储,可以。
阅读全文
0 0
- 字符串逆序&字符串逆序输出
- 逆序输出字符串
- 字符串逆序输出
- 字符串逆序输出
- 字符串的逆序输出
- 递归逆序输出字符串
- 逆序输出字符串
- 逆序输出字符串
- 实现字符串逆序输出
- 字符串逆序输出
- NYOJ - 字符串逆序输出
- 字符串逆序输出
- 字符串逆序输出
- 字符串逆序输出
- C字符串逆序输出
- 字符串逆序输出
- 字符串逆序输出
- 逆序输出字符串
- excel公式
- JavaScript编程中的同步与异步机制
- Deep Learning for OCR
- CABasicAnimation animationWithKeyPath 一些规定的值
- Hibernate主副配置文件的简单讲解
- 字符串逆序输出
- js对字符串编码,解码 .net对字符串编码,解码
- 2-5浙大版《数据结构(第2版)》题目集
- MFC中CString,C++中string,c风格字符串
- iOS 地图实现一个大头针在屏幕中心不随地图的拖动而移动
- Leetcode 255 Verify Preorder Sequence in Binary Search Tree
- c++中的变量作用范围
- 在信息时代,亚媒网泛家居行业要如何发展?
- Java多线程中join方法_保证线程执行完后再销毁activity