简单LinuxC程序关于倒置句子中的单词位置(字符串逆序应用)

来源:互联网 发布:乱世佳人电影 知乎 编辑:程序博客网 时间:2024/05/24 04:14

题目:编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构。

源代码如下:

#include <stdio.h>#include <string.h>     #define MAX 100int rev(char ch[]){char temp;int i,j;int strl = strlen(ch);        //strlen()可以求出字符串长度,使用必须包含string.h的头文件int count = 0;//逆序字符串for (i = 0; i < strl / 2; i++)            {temp = ch[i];ch[i] = ch[strl - 1 -i];ch[strl - 1 - i] = temp;}//再逆序每一个单词for (i = 0; i <= strl; i++)            {if (ch[i] == ' ' || ch[i] == '\0')        //扫描空格或空字符{for (j = 0; j < count / 2; j++)      //逆序每一个单词{temp = ch[i - 1 - j];ch[i - 1 - j] = ch[i - count + j];ch[i - count + j] = temp;}count = -1;}count++;}return 0;}int main(){char str[MAX];int i = 0;printf("input a string:");fgets (str,MAX,stdin);while (str[i] != '\0')        //去掉换行符{if (str[i] == '\n'){str[i] = '\0';}i++;}rev (str);printf("字符串倒置后为:%s\n",str);    return 0;}


有关字符串的函数有很多,大家可以交流交流,但不要忘记,熟悉字符串的基本结构、打好基础才最重要。

阅读全文
0 0
原创粉丝点击