精华内容
下载资源
问答
  • 单词翻转
    2021-09-16 10:05:23

     

    描述: 输入一个句子(一行),将句子中的每一个单词翻转后输出。

    样例输入: fafa yyds
    样例输出: afaf sdyy

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main(){
        string s;
        int k = 0;
        getline(cin,s);
        s = s + ' ';
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] == ' ')
            {
                for(int j = i - 1; j >= k; j--)
                {
                    cout<<s[j];
                }
                cout<<' ';
                k = i + 1;
            }
        }
        return 0;
    }

    getline(cin, inputLine);其中 cin 是正在读取的输入流,而 inputLine 是接收输入字符串的 string 变量的名称。 

    更多相关内容
  • 单词翻转

    2019-11-17 12:23:54
    一、字符串按照单词顺序翻转 LeetCode - 151. Reverse Words in a String Given an input string, reverse the string word by word. Input: “the sky is blue” Output: “blue is sky the” Example 2: Input:...

    一、字符串按照单词顺序翻转 LeetCode - 151. Reverse Words in a String

    Given an input string, reverse the string word by word.

    Input: “the sky is blue”
    Output: “blue is sky the” Example 2:

    Input: " hello world! "
    Output: “world! hello”

    Input: “a good example”
    Output: “example good a”

      也就是说,把字符串按照单词顺序翻转,且扔掉前导零和后缀零,且每个单词中间一个空格。

    string reverseWords(string s) {
    	string res;
    	auto i = s.length() - 1;
    	while(i >= 0) {
    		int r = i;
    		while (r >= 0 && s[r] == ' ')
    			--r;
    		if(r <= -1) return res.substr(0, res.length() - 1);
    		int l = r;
    		while (l >= 0 && s[l] != ' ') --l;
    		res += s.substr(l + 1, r - l) + " ";
    		i = l;
    	}
    	return res.substr(0, res.length() - 1);
    }
    

    二、字符串中每个单词翻转

      有的题目是让字符串中每个单词翻转,单词的定义就是26个大小写英文字母,即空格和符号都不算单词,如下例:

    Input: “Hello World! abc def *”
    Output: “olleH dlroW! cba fed *”

      即单词间空格数不变,且符号不算为单词。就是一个一个遍历,每个单词翻转,然后空格和符号不变即可。

    string reverseStr(string s) {
    	string res;
    	for (int i = 0; i < s.length(); ++i) {
    		if (!((s[i] >= 'a' && s[i] <= 'z') ||
    			(s[i] >= 'A' && s[i] <= 'Z'))) {
    			res.push_back(s[i]);
    			continue;
    		}
    		string tmp;
    		while (i < s.length() && 
    			((s[i] >= 'a' && s[i] <= 'z') ||
    			(s[i] >= 'A' && s[i] <= 'Z'))) {
    			tmp.push_back(s[i]);
    			++i;
    		}
    		reverse(tmp.begin(), tmp.end());
    		res += tmp;
    		if (i < s.length() - 1) --i;
    	}
    	return res;
    }
    
    展开全文
  • c语言 实现 单词翻转

    2022-07-17 14:07:32
    输入一个英文句子,翻转句子中单词的顺序,要求单词内字符的顺序不变,句子中单词以空格隔开,为简单起见,标点符号和普通字母一样处理。例如输入“lamastudent.”则输出“student.aaml"”。即Iamastudent.------>....

    题干:

        输入一个英文句子,翻转句子中单词的顺序,要求单词内字符的顺序不变,句子中单词以空格隔开,为简单起见,标点符号和普通字母一样处理。例如:输入“l am a student.”则输出:“student. a am l"”。

    解题步骤:

    (1) 翻转整个字符串。 ​​​​​​​

    即:I am a student.   ------>    .tneduts a ma I

    (2) 逐个翻转单词。

    即: .tneduts a ma I  ------>    student. a am l

    代码实现:

    #define _CRT_SECURE_NO_WARNINGS 1    //vs2019特色
    
    #include <stdio.h>
    #include<string.h>
    
    int main(void)
    {
    	int i=0, j, k, m, n,t;
    	int len;
    	char a[101];
    	gets(a);          //初始化数组a
    
    	len = strlen(a);   //计算a的长度
    	n = len;
    
    	  while(i<n)       //翻转整个字符串
    	{
    		m = a[i];
    		a[i] = a[n - 1];
    		a[n - 1] = m;
    		i++;
    		n--;
    	}
    
    	n = len;
    	k = 0;
    	
    	for (j = 0; j < n; j++)
    	{
    		if (a[j] == ' ')    //判断单词
    		{
    			t = j;
    			while (k < j)   //单词内部进行翻转
    			{
    				m = a[k];
    				a[k] = a[j - 1];
    				a[j - 1] = m;
    				k++;
    				j--;
    			}
    			k = t + 1;
    			j = k;
    		}
    	}
    
    	puts(a);    //输出字符串
    
    	return 0;
    }

    猿生第一次,嘿嘿嘿【dogo】

    展开全文
  • C++实现翻转单词顺序

    2020-09-02 02:25:00
    给大家汇总介绍了C++实现翻转单词顺序的三种方法,都非常的简单,需要的朋友可以参考下
  • pta中的单词翻转(7-2);

    题目详情

    从键盘输入一个字符串,包含很多个单词。每个单词之间以1个或多个空格隔开。要求翻转每个单词,但是单词在句子中的顺序不变。注意行前和行后可能有多个空格。


    文章目录

    • 一、输入样例
    • 二、输出样例
    • 三、代码展示
    • 四、思路体现

    一、输入样例

    输入一个字符串(总长度不超过1000),里面包含n(n<50)个单词,每个单词不超过20个字母;且保证输入的字符只含英文字母和空格。

    1)输入样例一

    olleH   dlroW
    

    2)输入样例二

       I    ma    a     tneduts       
    

    二、输出样例

    输出翻转后的字符串。每个单词之后输出一个空格,不能有多余的空客;且行末必须、只能有一个空格。

    1)输出样例一

    Hello World 
    

    2)输出样例二

    I am a student 
    

    三、代码展示

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char string[1000],world[20];
    	gets(string);        //输入字符串
    	int len=strlen(string);        //得到字符串的长度
    	for(int i=0;i<len;i++){
    		while(string[i]==' '&&string[i]!='\0'){        //跳过空格
    			i++;
    		}if(string[i]=='\0')break;        
            //避免当输入的字符串最后还有空格时,从而导致输出后的末尾有两个空格
            int j=0;
    		while(string[i]!=' '&&string[i]!='\0'){        //将第n个单词输入到world[20]
    			world[j++]=string[i++];
    		}j=j-1;
    		while(j>=0){        //输出world[20]中的单词
    			printf("%c",world[j--]);
    		}printf(" ");        //每个单词后面必须加空格
    	}
    }

    四、思路体现

    本题要求单词翻转,并保证翻转后的单词位置和输入时的相同,因而就需要我们创建第二个可以收容单词的字符组world[];通过对字符组string[]的循环,首先需要利用循环跳过空格,其次,在跳过空格之后,继续创建循环,将单词输入到world[]中,最后再次创建循环,将world[]中的单词输出。

    展开全文
  • 1144:单词翻转

    2021-11-27 16:36:22
    1144:单词翻转 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 23122 通过数: 11223 【题目描述】 输入一个句子(一行),将句子中的每一个单词翻转后输出。 【输入】 只有一行,为一个字符串,不超过500个...
  • 实现字符串按单词翻转 两步翻转法 1.字符串整体翻转 2.每个单词翻转 比如要将I am student.按单词翻转,变为student. am I #include <stdio.h> #include <string.h> void reverse_string1(char* left,...
  • C/C++编程学习 - 第18周 ⑥ 单词翻转

    万次阅读 2021-02-02 09:45:32
    输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入格式 只有一行,为一个字符串,不超过 500 个字符。单词之间以空格隔开。 输出格式 翻转每一个单词后的字符串,单词之间的空格需与原文一致。 注意 ...
  • 总时间限制: 1000ms 内存限制: ...首先我们要翻转每个单词,我们是否可以不用一直想着怎么将每个单词翻转然后再将翻转完单词的整个字符串输出来,我们可以直接以将每个单词的起点和终点找到,然后
  • 输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致。 样例输入 ...
  • 输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入格式 只有一行,为一个字符串,不超过 500 个字符。单词之间以空格隔开。 输出格式 翻转每一个单词后的字符串,单词之间的空格需与原文一致。 注意 ...
  • NOI的1.7.27单词翻转

    2020-02-27 13:06:44
    输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致。 样例输入 hello ...
  • 1.7 编程基础之字符串 27 单词翻转 4分 http://noi.openjudge.cn/ch0107/24/ https://blog.csdn.net/hy_696/article/details/106412888 https://blog.csdn.net/m0_43456002/article/details/102729230 LeetCode--...
  • 27:单词翻转 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出 ...
  • C++版本 27:单词翻转

    2020-11-08 15:15:09
    27:单词翻转 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出。 输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致。...
  • 1144:单词翻转 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 18986 通过数: 9390 【题目描述】 输入一个句子(一行),将句子中的每一个单词翻转后输出。 【输入】 只有一行,为一个字符串,不超过500个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,095
精华内容 9,638
关键字:

单词翻转