ACM 杭电 地1048题 为什么不AC 呵呵 自己如入的就正确 到他那就不过
#include<stdio.h>#include<string.h>main(){inti,m;chara[10000];while(1){gets(a);if(str...
#include<stdio.h>
#include<string.h>
main()
{ int i,m;
char a[10000];
while(1)
{ gets(a);
if(strcmp(a,"ENDOFINPUT")==0)
break;
if(strcmp(a,"START")&&strcmp(a,"END"))
{
i=strlen(a);
for(m=0;m<i;m++)
{
if((a[m]<='U')&&('A'<=a[m]))
{ printf("%c",a[m]+5);}
if(('V'<=a[m])&&(a[m]<='Z'))
{printf("%c",a[m]-21);}
if(a[m]==32)
{printf("%c",a[m]);}
}printf("\n");
}
}
} 展开
#include<string.h>
main()
{ int i,m;
char a[10000];
while(1)
{ gets(a);
if(strcmp(a,"ENDOFINPUT")==0)
break;
if(strcmp(a,"START")&&strcmp(a,"END"))
{
i=strlen(a);
for(m=0;m<i;m++)
{
if((a[m]<='U')&&('A'<=a[m]))
{ printf("%c",a[m]+5);}
if(('V'<=a[m])&&(a[m]<='Z'))
{printf("%c",a[m]-21);}
if(a[m]==32)
{printf("%c",a[m]);}
}printf("\n");
}
}
} 展开
1个回答
展开全部
你的程序连sample input都跑不对吧?
试试这个。。
#include<stdio.h>
#include<string.h>
int main()
{
char *p;
char a[10000];
while(1)
{
gets(a);
if(strcmp(a,"ENDOFINPUT")==0)
break;
gets(a);
p=a;
while(*p) {
if (*p >= 'A' && *p <= 'Z') {
*p -= 5;
if (*p <'A')
*p += 26;
}
p++;
}
printf("%s\n", a);
gets(a);
}
return 0;
}
试试这个。。
#include<stdio.h>
#include<string.h>
int main()
{
char *p;
char a[10000];
while(1)
{
gets(a);
if(strcmp(a,"ENDOFINPUT")==0)
break;
gets(a);
p=a;
while(*p) {
if (*p >= 'A' && *p <= 'Z') {
*p -= 5;
if (*p <'A')
*p += 26;
}
p++;
}
printf("%s\n", a);
gets(a);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询