c 语言 从字符串中取出一串单词并倒序
2017-11-30 12:50
197 查看
本代码为本人初学C语言时遇到的一个问题;
具体问题为 :字符串中间的单词无法转到对应位置的空字符串中,所以为了提取字符串中的单词本人思考了如下代码:
这是把”hello world“中的”world“倒叙的一个小程序;
如果需要倒叙一个字符串中所有的单词并保持原位还应做如下改动:
该代码经过调整还可用于判断字符串中的单词是否为回文数;
具体问题为 :字符串中间的单词无法转到对应位置的空字符串中,所以为了提取字符串中的单词本人思考了如下代码:
# include <stdio.h> # include <string.h> int main() { char a[20]={'h','e','l','l','o',' ','w','o','r','l','d'},b[150]; int m,n,i=6,j=11,k,p=j-i-1; for(m=j-1,n=0;m>=i;m--,n++) b = a[m]; for(m=i,n=0;m<j;m++,n++) a[m] = b ; printf("%s\n",a); return 0; }
这是把”hello world“中的”world“倒叙的一个小程序;
如果需要倒叙一个字符串中所有的单词并保持原位还应做如下改动:
# include <stdio.h> # include<ctype.h> # include <string.h> int main() { char a[600],b[600];int m,n,i,j,k; while(gets(a)!=NULL) { n = strlen(a); for(i=0;i<n;i++) { j = i; while(isgraph(a[j])) j++; if(j>i) { for(k=j-1,m=0;k>=0;k--,m++) b[m] = a[k]; for(m=0,k=i+m;m<j-i;k++,m++) a[k] = b[m]; memset(b,0,600); i = j-1; } } puts(a); } return 0; }
该代码经过调整还可用于判断字符串中的单词是否为回文数;
相关文章推荐
- java算法求一个字符串的倒序(单词不变输出world the Hello)
- php实现字符串翻转,使字符串的单词正序,单词的字符倒序
- C语言程序设计习题1-19 编写函数reverse(s),实现字符串的倒序,并用该函数每次颠倒一个输入行中的字符顺序
- 倒序输出单词字符串
- C++ 将单词从字符串分割出来并倒序输出
- 笔试题:把一串字符串中单词逆序
- 键盘输入一行字符串,每个单词倒序输出
- ZT C语言实现字符串倒序
- 字符串倒序单词顺序不变保留空格
- [倒序输出单词字符串]2
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- 一串字符串中出现次数最多的单词
- 统计一串字符串中出现次数最多和次多的单词
- Java 按单词倒序输出字符串
- [置顶] iOS开发字符串倒序,倒序单词字母,不倒序单词位置
- 将字符串中的单词进行倒序
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
- 统计一串字符串中出现次数最多和次多的单词(华为上机考试题)
- 将字符串中的单词进行倒序
- 统计一串字符串中出现次数最多和次多的单词(华为上机考试题)