单词翻转
来源:互联网 发布:mate10使用感受知乎 编辑:程序博客网 时间:2024/05/17 23:24
问题描述:输入一个英文句子,翻转句子中单词的顺序。要求单词内字符的顺序不变,句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,若输入“I am a student.”,则输出”student. a am I”。
分析
翻转每个单词;
翻转每个句子。
代码
include <stdio.h>include <string.h>define MAXSIZE 1000void ReverseString(char *s ,int from, int to);int main(int argc, char *argv[]){ char s[MAXSIZE]; int pre = 0; int cur = 0; int n = 0; scanf("%[^\n]",s); n = strlen(s); printf("%s\n",s); while (cur < n){ if (s[cur] == ' '){ ReverseString(s,pre,cur-1); pre = cur+1; } ++cur; } if (s[cur-1] != ' '){ ReverseString(s,pre,cur-1); pre = cur+1; } ReverseString(s,0,n-1); printf("%s\n",s); return 0;}void ReverseString(char *s ,int from, int to){ while(from < to){ char tmp s[from]; s[from] = s[to]; s[to] = tmp; from++; to--; }}
重点
两个位置指示器,分别指向单词开始和结束位置;
遇到空格就翻转单词,最后一个单词翻转要额外处理;
scanf输入一行字符串scanf(“%[^\n]”,s),用getline函数也可;
0 0
- 单词翻转
- 单词翻转
- 单词翻转
- 翻转单词
- 单词翻转
- 翻转单词
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 翻转单词
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 51nod 1089 最长回文子串 V2 (Manacher算法)
- MyEclipse非常方便的快捷键
- VC如何实现按下回车后编辑框输入焦点传递到下一编辑框?
- LinearLayout中的控件两端对齐 或 Button、TextView左右对齐
- 执行做jffs2的build.sh脚本错误————/usr/bin/ld: cannot find -lc
- 单词翻转
- Swift(二、集合)
- Supporting Different Screen Sizes
- linux面试积累
- [网址]IPM相关资料汇总
- Linux环境下Nginx安装及Ubuntu Server 15.0.4尝试安装Nginx
- 最全的常用正则表达式大全分享
- 共享内存 —— 通过SharedPreferences实现进程间数据共享的问题详解
- Android 下使用tcpdump网络抓包