2 条题解

  • 2
    @ 2022-08-14 21:06:26

    //嘿嘿嘿
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    string s;
    int a[100005],j=0,sum=0,max,min,sum1=0,max1,min1;
    max=INT_MIN;
    min=INT_MAX;
    getline(cin,s);
    for(int i=0;i<s.size();i++)
    {
    if(s[i]!=' ')
    {
    sum++;
    }
    if(s[i]==' ')
    {
    a[j]=sum;
    j++;
    }
    }
    for(int i=0;i<j;i++)
    {
    if(a[i]>max)
    {
    max=a[i];
    }
    if(a[i]<min)
    {
    min=a[i];
    }
    }
    for(int i=0;i<s.size();i++)
    {
    if(s[i]!=' ')
    {
    sum1++;
    }
    if(s[i]==' '&&sum1==max)
    {
    max1=i-sum1;
    }
    if(s[i]==' '&&sum1==min)
    {
    min1=i-sum1;
    }
    }
    for(int i=0;i<s.size();i++)
    {
    if(i==max1)
    {
    for(int j=i;j<=max;j++)
    {
    cout<<s[j];
    }
    }
    if(i==min1)
    {
    for(int j=i;j<=min;j++)
    {
    cout<<s[j];
    }
    }
    }
    return 0;
    }
    //我错了

  • 1
    @ 2022-09-03 22:53:09
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s;
        int sum=0,summ[10001],cnt=0,m=0,n=0;
        int max=-1,min=100000,maxi,mini;
        getline(cin,s);
        for(int i=0;i<s.size();i++)
        {
            if(s[i]!=' ')
                sum++;
            if(s[i]==' '&&sum>0)
            {
                cnt++;
                summ[cnt]=sum;
                sum=0;
            }
        }
        summ[cnt+1]=sum;    sum=0;
        for(int i=1;i<=cnt+1;i++)
        {
            if(summ[i]>max)
                max=summ[i];
            if(summ[i]<min)
                min=summ[i];
        }
        for(int i=0;i<=s.size();i++)
        {
            if(s[i]!=' ')
                sum++;
            if(s[i]==' '&&sum>0)
            {
                if(sum==max)
                {
                    maxi=i-sum;
                    m=1;
                    sum=0;
                    break;
                }
                if(sum==min)
                {
                    mini=i-sum;
                    n=1;
                    sum=0;
                    break;
                }
            }
            if(sum==max&&m==0)
                maxi=i-sum;
            if(sum==min&&n==0)
                mini=i-sum;
        }
        for(int i=0;i<s.size();i++)
        {
            if(i==maxi)
            {
                for(int j=i;j<=i+max-1;j++)
                {
                    cout<<s[j];
                }
                cout<<endl;
            }
            if(i==mini)
            {
                for(int j=i;j<=i+min-1;j++)
                {
                    cout<<s[j];
                }
            }
        }
        return 0;
    }//嘿嘿嘿,我也错了
    
  • 1

字符串 最长的单词和最短的单词

信息

ID
1967
难度
9
分类
(无)
标签
递交数
8
已通过
6
通过率
75%
被复制
6
上传者