有同样的结果
by 治涨的馒头 @ 2018-07-04 22:05:40
我朋友也是这样,答案和测试数据一样,但全WA
```cpp
#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
void my_out(char a,char b)
{
cout<<a;
int begin,end,haha;
if(p3 == 1)
{
for(char i = a + 1;i < b;i++)
{
for(int j = 1;j <= p2;j++)
{
if(p1 == 1)cout<<i;
else if(p1 == 2)
{
char ii = i + 'A' - 'a';
cout<<ii;
}
else cout<<'*';
}
}
}
else
{
for(char i = b - 1;i > a;i--)
{
for(int j = 1;j <= p2;j++)
{
if(p1 == 1)cout<<i;
else if(p1 == 2)
{
char ii = i + 'A' - 'a';
cout<<ii;
}
else cout<<'*';
}
}
}
cout<<b;
}
int main()
{
string a;
cin>>p1>>p2>>p3;
cin>>a;
for(int i = 0;i <= a.size();i++)
{
if(a[i + 1] == '-')
{
if(a[i] < a[i + 2])
{
if((a[i] >= 'a' && a[i] <= 'z' && a[i + 2] >= 'a' && a[i + 2] <= 'z') || (a[i] >= '0' && a[i] <= '9' && a[i + 2] >= '0' && a[i + 2] <= '9'))
my_out(a[i],a[i + 2]);
i += 2;
}
else if(a[i] + 1 == a[i + 2])
{
cout<<a[i]<<a[i + 2];
i += 2;
}
else
{
cout<<a[i];
}
}
else
cout<<a[i];
}
return 0;
}
```#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
void my_out(char a,char b)
{
cout<<a;
int begin,end,haha;
if(p3 == 1)
{
for(char i = a + 1;i < b;i++)
{
for(int j = 1;j <= p2;j++)
{
if(p1 == 1)cout<<i;
else if(p1 == 2)
{
char ii = i + 'A' - 'a';
cout<<ii;
}
else cout<<'*';
}
}
}
else
{
for(char i = b - 1;i > a;i--)
{
for(int j = 1;j <= p2;j++)
{
if(p1 == 1)cout<<i;
else if(p1 == 2)
{
char ii = i + 'A' - 'a';
cout<<ii;
}
else cout<<'*';
}
}
}
cout<<b;
}
int main()
{
string a;
cin>>p1>>p2>>p3;
cin>>a;
for(int i = 0;i <= a.size();i++)
{
if(a[i + 1] == '-')
{
if(a[i] < a[i + 2])
{
if((a[i] >= 'a' && a[i] <= 'z' && a[i + 2] >= 'a' && a[i + 2] <= 'z') || (a[i] >= '0' && a[i] <= '9' && a[i + 2] >= '0' && a[i + 2] <= '9'))
my_out(a[i],a[i + 2]);
i += 2;
}
else if(a[i] + 1 == a[i + 2])
{
cout<<a[i]<<a[i + 2];
i += 2;
}
else
{
cout<<a[i];
}
}
else
cout<<a[i];
}
return 0;
}
by 治涨的馒头 @ 2018-07-04 22:08:01
(不小心插入了两段)
by 治涨的馒头 @ 2018-07-04 22:09:03
你可能是输出的空格不啦不啦的没复制上
by AcerMo @ 2018-07-05 07:56:33
你把你代码
> l=s.size()后面加一句 l--
by AcerMo @ 2018-07-05 07:59:33
而且这组数据你过不了
2 8 2
--09-8-w-er-7h-08w-e7-hc-r890-q7w-eh-rc98-07-q8-ewr-8h-c-8-294-5-dsf--k-h-2-48-3k-h-sd-fq-a-
by AcerMo @ 2018-07-05 14:12:17
@[lsy263](/space/show?uid=72611) 把cin换成scanf试一下
我出现过类似的情况 然后把gets换成scanf就过了
by cqxxx @ 2018-08-09 14:35:31
@[cqxxx](/space/show?uid=80885) 已经过了谢谢;
by lsy263 @ 2018-08-09 15:05:50
之前改过的程序 ```cpp
#include<iostream>
#include<algorithm>
#include<math.h>
#include<cmath>
#include<string>
#include<stdio.h>
using namespace std;
int p1,p2,p3;
string s;
void pri(int t)
{
string c;
int l=0;
if(p1==3)
{
for(int i=1;i<=p2*(s[t+1]-s[t-1]-1);i++)
cout<<'*';
return;
}
for(char i=s[t-1]+1;i<s[t+1];i++)
for(int j=1;j<=p2;j++)
c[l++]=i;
//for(int j=0;j<l;j++) cout<<c[j];
if(p1==2 && c[0]>='a' && c[0]<='z') //如果是数字就不能加
for(int i=0;i<l;i++) c[i]=c[i]-'a'+'A';
//for(int j=0;j<l;j++) cout<<c[j];
if(p3==1)
{
for(int j=0;j<l;j++) cout<<c[j];
return;
}
else
{
for(int i=l-1;i>=0;i--)
cout<<c[i];
return;
}
}
int main()
{
// freopen("expand.in","r",stdin);
// freopen("expand.out","w",stdout);
int l,i;
cin>>p1>>p2>>p3;
cin>>s;
l=s.size();
for(i=0;i<l;i++)
if(i!=0 && i!=l-1 && s[i]=='-' && s[i-1]<s[i+1] && ( (s[i-1] >='0' && s[i+1]<='9') || (s[i-1]>='a' && s[i+1]<='z') ) )
//i=0会越界
pri(i);
else
cout<<s[i];
return 0;
}
```
我也忘记我改哪了,,,,七月份的
by lsy263 @ 2018-08-09 15:07:22