讨论 / 第一个测试数据很特殊吗?怎么才90分?
怡红公子 2011-11-07 00:27:00
点我顶贴 收藏 删除
RT:大侠帮我看看!

#include<iostream>

using namespace std;

int p1,p2,p3,i;

char a[100];

void out()

{

char q;int l,j;

if(p1==3)

for(l=a[i+1]-1;l>a[i-1];l--)

for(j=1;j<=p2;j++)

cout<<"*";

else if(p1==1)

{

if(p3==1)

for(l=a[i-1]+1;l<a[i+1];l++)

for(j=1;j<=p2;j++) cout<<char(l);

else if(p3==2)

for(l=a[i+1]-1;l>a[i-1];l--)

for(j=1;j<=p2;j++) cout<<char(l);

}

else if(p1==2)

{

if(p3==2)

for(l=a[i+1]-1;l>a[i-1];l--)

for(j=1;j<=p2;j++) cout<<char(l-32);

else if(p3==2)

for(l=a[i-1]+1;l<a[i+1];l++)

for(j=1;j<=p2;j++) cout<<char(l-32);

}

}

void out2()

{

int l,j;

if(p1==3)

for(l=a[i+1]-1;l>a[i-1];l--)

for(int j=1;j<=p2;j++)

cout<<"*";

else if(p3==1)

for(l=a[i-1]+1;l<a[i+1];l++)

for(j=1;j<=p2;j++)

cout<<char(l);

else if(p3==2)

for(l=a[i+1]-1;l>a[i-1];l--)

for(j=1;j<=p2;j++)

cout<<char(l);

}

void bianz()

{

if(a[i]=='-')

{if(a[i-1]>='a'&&a[i+1]<='z'&&a[i-1]<a[i+1]) out();

else if(a[i-1]>='0'&&a[i+1]<='9'&&a[i-1]<a[i+1]) out2();

else cout<<"-"; }

else cout<<a[i];

}

int main()

{

cin>>p1>>p2>>p3;

cin>>a;

int la;

la=strlen(a);

cout<<a[0];

for(i=1;i<la;i++)

bianz();

system("pause");

}

#1 怡红公子@2011-11-07 00:27:00
回复 删除
是这样的
查看更多回复
提交回复