问题:如何实现student a am i转换成为i am a student?
解析:可将语句完全倒置,成为i ma a tneduts,再将逐个单词倒置,成为i am a student
#include <stdio.h> #include <string.h> void reverse_string(char *l,char *r) { while (l < r) { char tmp = *l; *l = *r; *r = tmp; l++; r--; } } void reverse(char ch[],int len) { int i = 0; char *ctmpl = ch; char *ctmpr = ch; while (ch[i]) { if (ch[i] == ' ') { reverse_string(ctmpl,ctmpr-1); ctmpl = ++ctmpr; } else { ctmpr++; } i++; } reverse_string(ch,ch + len - 1); } int main() { char ch[] = "student a am i"; reverse(ch,strlen(ch)); printf("%s\n",ch); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。