讨论 / 为什么6和9输出数据老是过少啊
qw4990 2010-05-29 18:22:00
点我顶贴 收藏 删除
RT 每次都是 怎么办 6和9有什么特殊情况吗
#1 qw4990@2010-05-29 18:22:00
回复 删除
我的程序 那个帮我看一下 谢谢了

#include<iostream>

#include<string.h>

using namespace std;

int p1,p2,p3,ls;

char s[10000];

void f(int i,int j)

{

if(p1==3)

{

int t=(j-i-1)*p2;

for(int x=0;x<t;x++)

cout<<"*";

return ;

}

if(i>='0'&&j<='9')

{

if(p3==1)

for(int x=i+1;x<j;x++)

for(int y=0;y<p2;y++)

cout<<char(x);

else if(p3==2)

for(int x=j-1;x>i;x--)

for(int y=0;y<p2;y++)

cout<<char(x);

return;

}

if(i>='a'&&j<='z')

{

if(p3==1)

for(int x=i+1;x<j;x++)

for(int y=0;y<p2;y++)

cout<<char(x+('A'-'a')*(p1-1));

else

for(int x=j-i;x>j;x--)

for(int y=0;y<p2;y++)

cout<<char(x+('A'-'a')*(p1-1));

}

}

main()

{

cin>>p1>>p2>>p3;

cin>>s;

ls=strlen(s);

cout<<s[0];

for(int i=1;i<ls;i++)

if(s[i]=='-'&&s[i+1]-s[i-1]>1&&s[i+1]-s[i-1]<=26)

f(int(s[i-1]),int(s[i+1]));

else if(s[i]=='-'&&s[i+1]-s[i-1]==1)

cout<<"";

else cout<<s[i];

}

查看更多回复
提交回复