首页
IT
登录
6mi
u
盘
搜
搜 索
IT
字符串的展开
字符串的展开
xiaoxiao
2021-03-25
93
#include
<iostream>
#include
<string>
using
namespace
std
;
int
p1
,
p2
,
p3
;
string
str
,
ans
;
bool
canuse
(
int
t
)
{
if
(
str
[
t
-1
]>=
str
[
t
+1
])
return
0
;
if
(
islower
(
str
[
t
-1
])&&
islower
(
str
[
t
+1
]))
return
1
;
if
(
isdigit
(
str
[
t
-1
])&&
isdigit
(
str
[
t
+1
]))
return
1
;
return
0
;
}
int
main
()
{
cin
>>
p1
>>
p2
>>
p3
;
cin
>>
str
;
for
(
int
i
=
0
;
i
<
str
.
size
();
i
++)
{
if
(
str
[
i
]==
'-'
&&
canuse
(
i
))
{
string
tmp
;
if
(
p1
==
3
)
for
(
int
j
=
str
[
i
-1
]+
1
;
j
<
str
[
i
+1
];
j
++)
for
(
int
k
=
1
;
k
<=
p2
;
k
++)
tmp
+=
'*'
;
else
{
if
(
p3
==
1
)
for
(
int
j
=
str
[
i
-1
]+
1
;
j
<
str
[
i
+1
];
j
++)
for
(
int
k
=
0
;
k
<
p2
;
k
++)
tmp
+=
char
(
j
);
if
(
p3
==
2
)
for
(
int
j
=
str
[
i
+1
]-
1
;
j
>
str
[
i
-1
];
j
--)
for
(
int
k
=
0
;
k
<
p2
;
k
++)
tmp
+=
char
(
j
);
if
(
p1
==
2
)
for
(
int
j
=
0
;
j
<
tmp
.
size
();
j
++)
tmp
[
j
]=
char
(
toupper
(
tmp
[
j
]));
}
ans
+=
tmp
;
}
else
ans
+=
str
[
i
];
}
cout
<<
ans
<<
endl
;
return
0
;
}
转载请注明原文地址: https://ju.6miu.com/read-26234.html
技术
最新回复
(
0
)