关于句子翻转的几个问题
2015-08-09 12:26
465 查看
第一种翻转
Sample Input1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
int main() { int m,j; char b[1000]; scanf("%d",&m); getchar(); while (m--){ scanf("%d",&j); getchar(); while (j){ scanf("%s",b); int len = strlen(b); for (int i = len-1;i >= 0;i--){ printf("%c",b[i]); } if (getchar() == '\n') { j--; printf("\n"); } else printf(" "); } if (m) printf("\n"); } return 0; }
第二种翻转
Input:english is very interesting
Output:
interesting very is english
void swap_str(char str[],int start,int end) { int low = start; int high = end; while (low < high){ // swap(str[low], str[high]); char temp = str[high]; str[high] = str[low]; str[low] = temp; low++; high--; } } void rev(char str[]){ int len = strlen(str); swap_str(str,0,len-1); int i2 = 0; int i3 = 0; for(int i1 = 0; i1 < len;i1++){ if ((str[i1] == ' ')||(i1 == len-1)){ i3 = i1; swap_str(str,i2,i3-1); i2 = i3+1; } } } int main() { char s[1000],c; int i = 0; //scanf("%s",s); //int len = strlen(s); /*while (getchar() != '\n'){ } printf("%s\n",s);*/ /*scanf("%s",s); printf("%s\n",s);*/ while ((c=getchar()) != '\n') s[i++] = c; s[i] = '\0'; rev(s); printf("%s",s);<pre name="code" class="cpp"> return 0;
}
相关文章推荐
- Reverse Bits
- win7 64位 安装 scikit-learn和一些python包
- httpd及https学习笔记
- 【Linux】FrameBuffer操作入门
- 如何在不同文化背景下做简报
- 17 单调递增最长子序列
- Java 接口与抽象类
- 程序员未来的方向,可以考虑考虑
- 【我的技术我做主】Apache Httpd Web服务器详解
- 你知道RAID的初始化过程吗?
- 欢迎使用CSDN-markdown编辑器
- Google与沃尔玛的薪酬战略—方法不同,目的一致
- MySQL引擎讲解
- nim manual(二)
- Shell替换
- TextView属性大全
- 面向对象三大特点:封装,继承,多态
- qt下编写andriod程序必须报错总结
- 01_02 JSP基础语法之page指令1
- 黑马程序员——网络编程3:网络通讯组件介绍及演示-下