翻转吧!字符串
来源:互联网 发布:网络运维与管理 邮发 编辑:程序博客网 时间:2024/06/01 18:19
题目描述
最近老师给von出了一道编程题目,题意描述如下:给定一个字符串例如“I am a student”输出如下格式:“student a am I”,咱们都知道von有时脑子短路,这下把他难坏了。他只好请他最好的朋友你来帮忙了。
输入
第一行一个整数T,表示几组数据,接下来有T行字符串(仅包含大写字母(A-Z)小写字母(a-z)和空格)(提示:字符串最后结尾保证不会有多余空格,字符串长度 <= 200 ,0< T < 10)
输出
首先输出“Case i:” i表示第几组数据,然后按指定格式输出字符串。
示例输入
4I am a studentI love ACM very muchI love MMlet us go to play
示例输出
Case 1:student a am ICase 2:much very ACM love ICase 3:MM love ICase 4:play to go us let
思路:
输入一个字符串,把每个单词看成二维数组中的一个串,通过判断空格数,找出每个单词应该存在第几行,通过判断每个单词有几个,找出每个单词的字母应该存在第i行的第几个。
# include <stdio.h># include <string.h>int main(){ int n, i, cnt, h, j; char a[201], b[201][201]; scanf("%d",&n); getchar(); //读入输入n 后打的回车 for(i=1;i<=n;i++) { h=0; cnt=0; gets(a); int len = strlen(a); for(j=0;j<len;j++) { if(a[j]!=' ') { b[h][cnt]=a[j]; // 如果是字母就把它存入b中,cnt++确定每个字母在每一行的位置 cnt++; } else { //注意:如果是空格,先写上字符串结束标志'\0',累加h,表示开始新的一行,cnt从0 开始 b[h][cnt]='\0'; h++; cnt=0; } } b[h][cnt]='\0'; printf("Case %d:", i); for(j=h;j>=0;j--) { printf("%s",b[j]); if(j!=0) printf(" "); } printf("\n"); } return 0;}
0 0
- 翻转吧!字符串
- 翻转吧!字符串
- 翻转吧!字符串
- SDUTOJ 2085 翻转吧!字符串
- 【面试题】翻转吧!字符串!
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 全面接触SQL语法
- Arndale Octa Board Exynos5420开发板之系统(Linaro Ubuntu)内核移植
- C语言(七)
- hibernate 注解使用异常解决方法
- 如何通过Zabbix获取监控数据?
- 翻转吧!字符串
- PHP学习笔记
- linux常用命令
- 经典topK问题
- cocos2d-x3.2中fatal error: cocostudio/CocoStudio.h: No such file or directory
- ShutDown用法及参数
- 黑马程序员_java_关于静态方法
- VC默认链接库冲突
- setsocketopt