讨论 / C++求解
59854 2015-02-05 01:44:41
点我顶贴 收藏 删除
这道题怎么做,求解答,C++的程序;
#1 huanghj@2016-10-28 00:34:33
回复 删除
#include <iostream>

#include <cstring>

using namespace std;

int main()

{

int p1=0,p2=0,p3=0;

int m=0;

int j=0;

int k=0;

string ch;

string ch1;

string ch2;

int s;

cin>>p1>>p2>>p3;

cin>>ch;

s=ch.size();

for(int i=0;i<s;++i){

if(ch[i]=='-'){

ch1[m]=ch[i-1];

ch1[m+1]=ch[i+1];

m=m+2;

++k;

}

}

while(j<s){

if(ch[j]!='-'){

cout<<ch[j];

++j;

}

else if(ch[j]=='-'&&ch[j+1]-ch[j-1]<=0){

cout<<'-';

++j;

}

else if(ch[j]=='-'&&(ch[j+1]-'0'<=9&&ch[j-1]-'0'<=9&&ch[j+1]-'0'>=0&&ch[j-1]-'0'>=0)){

if(p1==3){

for(char x=ch[j-1]+1;x<ch[j+1];++x){

for(int i=0;i<p2;++i){

cout<<'*';

}

}

++j;

}

else{

if(p3==1){

for(char x=ch[j-1]+1;x<ch[j+1];++x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

else{

for(char x=ch[j+1]-1;x>ch[j-1];--x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

}

}

else if(ch[j]=='-'&&(ch[j+1]-'a'<=26&&ch[j-1]-'a'<=26&&ch[j+1]-'a'>=0&&ch[j-1]-'a'>=0)){

if(p1==1&&p3==1){

for(char x=ch[j-1]+1;x<ch[j+1];++x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

else if(p1==2&&p3==1){

for(char x=ch[j-1]+1-32;x<ch[j+1]-32;++x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

else if(p1==3){

for(char x=ch[j-1]+1;x<ch[j+1];++x){

for(int i=0;i<p2;++i){

cout<<'*';

}

}

++j;

}

else if(p1==1&&p3==2){

for(char x=ch[j+1]-1;x>ch[j-1];--x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

else{

for(char x=ch[j+1]-1-32;x>ch[j-1]-32;--x){

for(int i=0;i<p2;++i){

cout<<x;

}

}

++j;

}

}

else{

cout<<ch[j];

++j;

}

}

return 0;

}

查看更多回复
提交回复