问题标题: 酷町堂:2853 字符串加密

0
0
已解决
舒航
舒航
新手守护
新手守护

2853   字符串加密

 

Wrong Answer:0分

 

 

舒航的测评结果:

 

测试点#1测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#2测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#3测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#4测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#5测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#6测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#7测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#8测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#9测评结果 : Wrong Answer时间 : 0ms偷看一下数据测试点#10测评结果 : Wrong Answer时间 : 0ms偷看一下数据

 

我的提交(cpp):

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
    int num=0,sum=0,k;
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        k=s[i];
        if(k%2==0&&s[i]>='a'&&s[i]<='z')
        {
            s[i]-=32;
        }
        if(s[i]>='0'&&s[i]<='9')
        {
            num++;
            for(int j=s.size()-1;j>=i+1;j--)
            {
                if(s[j]>='0'&&s[j]<='9')
                {
                    sum++;
                    if(i==j)
                    {
                        break;  
                    }
                    if(num==sum)
                    {
                        swap(s[i],s[j]);
                        sum=0;
                        break;
                    }
                }
            }
            if(sum!=0)
            if(sum>num||num<sum)
            {
                break;
            }
        }   
    }
    cout<<s;
    return 0;
}

哪错了????


0
已采纳
翟谦瑞
翟谦瑞
新手守护
新手守护

额……晕…………

翟谦瑞在2018-10-13 22:20:34追加了内容

我的思路是:

1,先变大小写。

if(s[i]>='a'&&s[i]<='z'&&s[i]%2==0)s[i]-=' ';

2,录取数字。(自己写一下)

3,交换数字位置。

4,输出(遇到数字输出前两步得到的数字)。

蟹蟹

 

0
0
张海棠
张海棠
中级守护
中级守护

核心: 
    for(int i=0;i<s.size();i++)
    {
        if(s[i]%2==0&&s[i]>='a'&&s[i]<='z')
        {
            s[i]-=32;
        }
    }
    for(int i=0;i<s.size();i++)
    {
        d[i]=s.size();
        if(s[i]>='0'&&s[i]<='1')
        {
            ......//自己想 
        }
    }

我要回答