i am from shanghai 将字符串倒过来输出的算法
来源:互联网 发布:360数据恢复手机版 编辑:程序博客网 时间:2024/05/16 06:40
问题: i am from shanghai
输出为 shanghai from am i
思考:这道题是要将单词倒过来输出,但是英文单词的词序还是不变的。这个题目比较简单的方式其实是先完全倒叙,即变成
iahgnahs morf ma i
那么,接下来要做的就是把每一个单词再次进行倒叙就行了。也就是重复进行倒叙操作,这是本题比较简单的算法。
那么,如何做倒叙算法呢?
有很多种方法,但是,比较简单的,就是从中分开,然后第一个和最后一个对调,以此类推,交换次数为 字符串的长度除以2
for (i = 0; i <= len; i++)
{
temp = str[1];
str[i] = str[len - i -1];
str[len - i -1] = temp;
}
这样就实现了倒叙算法。接下来只要将各个单词再倒叙就好了。那么首先就要分离出每个单词,这个就用空格来控制。即用判断语句,当遇见空格或者字符串结尾的、0时就停止。分离出单词然后再用倒叙就完成了。
具体代码如下:
#include<stdio.h>
#include <string.h>
void re(char *, int);
void re2(char *);
int main()
{
char str[] = "we are friends";
printf("%d\n", strlen(str));
re(str, strlen(str));
printf("%s\n", str);
re2(str);
printf("%s\n", str);
}
void re(char *str, int l) //第一次倒叙
{
int len = l;
int i;
int temp;
for (i = 0; i < len / 2; i++ )
{
temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
void re2(char *str) //实现单词分离和第二次倒叙
{
int index;
int len = 0;
int start = 0;
for (index = 0; index <= strlen(str); index++)
{
if (str[index] != ' ' && str[index] != '\0' )
{
len++;
}
else
{
re(str + start, len);
start = start + len + 1;
len = 0;
}
}
}
- i am from shanghai 将字符串倒过来输出的算法
- I am from ShangHai的倒序
- I am from shanghai 的倒序
- I am from shanghai! --> shanghai! from am I
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 4.编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 4.编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”; 及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.
- 编写一个程序,输入一个英文句子,将其中单词位置倒置,单词内部结构不变。例如“I am from shanghai”倒置为“shanghai from am I”。
- 将you are from shanghai 以shanghai from are you的形式输出
- 题目2:用指针实现"I am from shanghai"的逆序
- 将输入的字符串反序打印。例如输入“I am a student.”输出“student. a am I”。
- 排序算法-09-排序1 排序 (25分)-第二部分
- selenium 自主登录百度云,新建文件、删除文件及重命名
- c#获取本地IP和MAC地址
- java连接mysql数据的url写法
- Koa2 学习笔记(第一天)
- i am from shanghai 将字符串倒过来输出的算法
- 【Codeforces Round #414 C Naming Company】
- 十大算法简述
- 学习Linux命令(7)
- 单链表部分1
- 有关csv格式的数据转换成libsvm格式的数据
- PAT-A-1051. Pop Sequence (25)
- 我所理解的多线程之synchronized
- Dbutils简介