2 条题解

  • 1
    @ 2022-10-7 17:41:18

    #我是第几个单词[题解]

    在这里,得先感谢作者 原因:坑有点多 自己不够细心 这是一道考察字符串运用的很好的题目 先用getline输入 getline学习

    然后记录要比较的字符串的长度,到后面自然会有用

    接着记录字母数量,到后面自然会有用

    And then,进行比较(注意:先判断是否存在字符串,再数空格(数单词))

    最后,进行输出,end_即判断是否有字符串

    这是代码

    #include<iostream>
    #include<string>
    using namespace std;
    int num = 1;
    bool end_ = false;
    int main(){
        string s_in;
        string s_compare;
        string s_copy;
        getline(cin,s_in);
        cin >>s_compare;
        int d = 0;
        while(s_compare[d])
        	d++;
        int j = 0;
        int num_1 = 0;
        while(s_in[j]){
        	j++;
        	if(s_in[j]!=' '&&s_in[j]!='.')
        		num_1++;
    	}
    	int a = 0;
    	int b = 0;
    	while(s_in[a]){
    		if(s_compare[b]==s_in[a]){
    			b++,a++;
    		}
    		else{
    			a++;
    			b = 0;
    			s_copy.clear();			
    		}
    		if(b==d){
    			end_=true;
    			break;
    		}	
    			
    		if(s_in[a]==' ')
    			num++;	
    	}
    	if(end_)
        	cout << num;
    	else
    		cout << num_1;   
        return 0;
    }
    
    • 0
      @ 2022-10-14 11:54:32

      其实这题用python是非常简单的,截取字符串去掉最后的.后再把字符串转化为列表,就可以直接比较判断了,比c++方便的 多

      a=input()
      t=input()
      d=len(a);
      c=a[0:d-1]
      b=c.split(" ")
      l=len(b)
      if t in b:
          for i in range(l):
              if b[i]==t:
                  print(i+1)
                  break
      else:
          k=0
          for i in range(l):
              for j in range(len(b[i])):
                  if b[i][j].isalpha():
                      k=k+1
          print(k)
      
      • 1

      信息

      ID
      4
      时间
      1000ms
      内存
      16MiB
      难度
      7
      标签
      递交数
      34
      已通过
      8
      上传者