*** 第 4 點 (20%):WA
與正確輸出不相符(line:1)
您的答案為: god..
正確答案為: ood.g
陷阱在哪裡?
*** 第 4 點 (20%):WA
與正確輸出不相符(line:1)
您的答案為: god..
正確答案為: ood.g
陷阱在哪裡?
程式碼
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
int a,b,c,time=0;
char s[300],h[300];
gets(s);
while(scanf("%s",h)==1)
{
time++;
int flag=0;
char temp;
int x=strlen(s),y=strlen(h);
for(a=0;a<y;a++)
{
if(h[a]=='0'&&h[a-1]!='i') flag=0;
if(h[a]=='$'&&h[a-1]!='i') flag=x;
if(h[a]=='x'&&h[a-1]!='i') /*刪完一個字元 長度-1*/
if(flag!=x)
{
for(b=flag;b<x-1;b++)
{
s[b]=s[b+1];
}
x--;
}
if(h[a]=='s'&&h[a-1]!='i')
if(flag!=0&&flag!=x) {temp=s[flag+1];s[flag+1]=s[flag]; s[flag]=temp;}
if(h[a]=='i'&&h[a-1]!='i') /*增加一個字元 長度+1*/
{
s[flag+1]=s[flag];s[flag]=h[a+1];
flag++; x++;
}
if(h[a]=='u'&&h[a-1]!='i')
{
if(s[flag]>=97&&s[flag]<=122) s[flag]=s[flag]-32;
flag++;
}
if(h[a]=='+'&&h[a-1]!='i') flag++;
if(h[a]=='-'&&h[a-1]!='i') flag--;
}
for(a=0;a<x;a++)
{
printf("%c",s[a]);
}
}
return 0;
}
*** 第 4 點 (20%):WA
與正確輸出不相符(line:1)
您的答案為: god..
正確答案為: ood.g
陷阱在哪裡?
程式碼
#include
#include
#include
int main()
{
int a,b,c,time=0;
char s[300],h[300];
gets(s);
while(scanf("%s",h)==1)
{
time++;
int flag=0;
char temp;
int x=strlen(s),y=strlen(h);
for(a=0;a {
if(h[a]=='0'&&h[a-1]!='i') flag=0;
if(h[a]=='$'&&h[a-1]!='i') flag=x;
if(h[a]=='x'&&h[a-1]!='i') /*刪完一個字元 長度-1*/
if(flag!=x)
{
for(b=flag;b {
s[b]=s[b+1];
}
x--;
}
if(h[a]=='s'&&h[a-1]!='i')
if(flag!=0&&flag!=x) {temp=s[flag+1];s[flag+1]=s[flag]; s[flag]=temp;}
if(h[a]=='i'&&h[a-1]!='i') /*增加一個字元 長度+1*/
{
s[flag+1]=s[flag];s[flag]=h[a+1];
flag++; x++;
}
if(h[a]=='u'&&h[a-1]!='i')
{
if(s[flag]>=97&&s[flag]<=122) s[flag]=s[flag]-32;
flag++;
}
if(h[a]=='+'&&h[a-1]!='i') flag++;
if(h[a]=='-'&&h[a-1]!='i') flag--;
}
for(a=0;a {
printf("%c",s[a]);
}
}
return 0;
}
沒有陷阱,是你寫錯罷了....以下是我根據你的程式碼所做的修改,我將所有不同的地方變色了
我的code:
302171 | asas | d252. 94北縣賽-4-字串處理問題 (String) | AC (4ms, 225KB) | C | 2009-10-22 18:42 |
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
int a,b,c,time=0;
char s[300],h[300];
gets(s);
while(scanf("%s",h)==1)
{
time++;
int flag=0;
char temp;
int x=strlen(s),y=strlen(h);
for(a=0;a<y;a++)
{
if(h[a]=='0') flag=0;
if(h[a]=='$') flag=x;
if(h[a]=='x') /*刪完一個字元 長度-1*/
if(flag!=x)
{
for(b=flag;b<x;b++)
{
s[b]=s[b+1];
}
x--;
}
if(h[a]=='s')
if(flag!=x-1&&flag!=x) {temp=s[flag+1];s[flag+1]=s[flag]; s[flag]=temp;}
if(h[a]=='i') /*增加一個字元 長度+1*/
{
for (b=x;b>flag-1;b--)
s[b]=s[b-1];
s[flag]=h[a+1];
flag++; x++;a++; //因為有了a++;所以就不用判斷前一個指令是否是 ' i ' 了
}
if(h[a]=='u')
{
if(s[flag]>=97&&s[flag]<=122) s[flag]=s[flag]-32;
flag++;
}
if(h[a]=='+') flag++;
if(h[a]=='-') flag--;
}
for(a=0;a<x;a++)
{
printf("%c",s[a]);
}
}
return 0;
}
*** 第 4 點 (20%):WA
與正確輸出不相符(line:1)
您的答案為: god..
正確答案為: ood.g
陷阱在哪裡?
程式碼
#include
#include
#include
int main()
{
int a,b,c,time=0;
char s[300],h[300];
gets(s);
while(scanf("%s",h)==1)
{
time++;
int flag=0;
char temp;
int x=strlen(s),y=strlen(h);
for(a=0;a {
if(h[a]=='0'&&h[a-1]!='i') flag=0;
if(h[a]=='$'&&h[a-1]!='i') flag=x;
if(h[a]=='x'&&h[a-1]!='i') /*刪完一個字元 長度-1*/
if(flag!=x)
{
for(b=flag;b {
s[b]=s[b+1];
}
x--;
}
if(h[a]=='s'&&h[a-1]!='i')
if(flag!=0&&flag!=x) {temp=s[flag+1];s[flag+1]=s[flag]; s[flag]=temp;}
if(h[a]=='i'&&h[a-1]!='i') /*增加一個字元 長度+1*/
{
s[flag+1]=s[flag];s[flag]=h[a+1];
flag++; x++;
}
if(h[a]=='u'&&h[a-1]!='i')
{
if(s[flag]>=97&&s[flag]<=122) s[flag]=s[flag]-32;
flag++;
}
if(h[a]=='+'&&h[a-1]!='i') flag++;
if(h[a]=='-'&&h[a-1]!='i') flag--;
}
for(a=0;a {
printf("%c",s[a]);
}
}
return 0;
}
沒有陷阱,是你寫錯罷了....以下是我根據你的程式碼所做的修改,我將所有不同的地方變色了
我的code:
302171 | asas | d252. 94北縣賽-4-字串處理問題 (String) | AC (4ms, 225KB) | C | 2009-10-22 18:42 |
#include
恩
原來如此
謝謝^_^