flag7逆置一句话,但是保持单词顺序不变
2018-01-25 15:12
197 查看
# include <stdio.h>
# include <string.h>
void inverse(char *st,int a,int b);//算法思想,先整体逆置,再分别逆置即可
void main()
{
int i,k;
char st[100];
printf("input your ideal number\n");
gets(st);
printf("%s\n",st);
printf("%d\n",strlen(st));
inverse(st,0,(int)strlen(st)-1);
for(i=0;i<(int)strlen(st);i++)
{
if(st[i]==st[0])
{
k=i;
}
if(st[i]==' ')
{
inverse (st,k,i-1);//别忘记减1
k=i+1;
}
if(st[i]==st[(int)strlen(st)-1])
{
inverse (st,k,i);
}
}
printf("%s",st);
}
void inverse(char *st,int a,int b)
{
int i,j,k;
char t;
for(;a<((int)strlen(st))/2;a++,b--)
{
t=st[a];
st[a]=st[b];
st[b]=t;
}
}
# include <string.h>
void inverse(char *st,int a,int b);//算法思想,先整体逆置,再分别逆置即可
void main()
{
int i,k;
char st[100];
printf("input your ideal number\n");
gets(st);
printf("%s\n",st);
printf("%d\n",strlen(st));
inverse(st,0,(int)strlen(st)-1);
for(i=0;i<(int)strlen(st);i++)
{
if(st[i]==st[0])
{
k=i;
}
if(st[i]==' ')
{
inverse (st,k,i-1);//别忘记减1
k=i+1;
}
if(st[i]==st[(int)strlen(st)-1])
{
inverse (st,k,i);
}
}
printf("%s",st);
}
void inverse(char *st,int a,int b)
{
int i,j,k;
char t;
for(;a<((int)strlen(st))/2;a++,b--)
{
t=st[a];
st[a]=st[b];
st[b]=t;
}
}
相关文章推荐
- 华北计算所其中一道机试题,逆转字符串,但是单词顺序不变,字符串中只含有字母和空格
- 【C/C++笔试】输入一句英文,要求单词本身逆置,标点不变,单词相对顺序不变
- 华北计算所其中一道机试题,逆转字符串,但是单词顺序不变
- 反转句子中单词的顺序(单词中字符的顺序保持不变,c语言)
- 将一个英文句子单词顺序逆置(LeetCode | Reverse Words in a String)
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 保持ipod与itunes同步时播放顺序不变
- java算法实现"输入一个英文句子,反转句子中的单词顺序,但单词内字符的顺序不变"
- 将字符串逆置(不改变里面单词的顺序)
- LeetCode练习<二> 将字符串中的每个单词的字母颠倒,单词顺序不变
- 翻转句子中单词的顺序,但单词内字符的顺序不变
- 字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- Python中list去重且保持原顺序不变的方法
- 给定输入的字符串,将字符串中的单词顺序颠倒,但要保持单词的字符顺序。
- 给定一个数组nums,写一个函数将所有的值移动0到最后,同时保持非零元素的相对顺序不变
- Python:将句子中的单词全部倒排过来,但单词的字母顺序不变
- 输入一行字符串,把字符串翻转[单词顺序不变]
- 每天学习一算法系列(10)(输入一句英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开)