题目1105:字符串的反码
简化后的源代码:
遇到的问题:此题输入的字符串中可能含有空格,所以不能用scanf, C++中不能用cin。改用gets(); 之前由于一直用scanf而出错。
源代码:
#include
<stdio.h>#include
<string.h>int
main(){char
str[100];int
i,j,k,len;char
ch;while(1){ gets(str);if(strcmp(str,"!")==0)
break;len=strlen(str);for(i=0;i<len;i++){ if(str[i]<='z'&&str[i]>='a'){ ch='a'; while(ch<='z'){ if(str[i]-'a'=='z'-ch){ str[i]=ch;break; } ch++; } }else
if(str[i]<='Z'&&str[i]>='A'){ ch='A'; while(ch<='Z'){ if(str[i]-'A'=='Z'-ch){ str[i]=ch;break; } ch++; } }else{ str[i]=str[i]; }}for(i=0;i<len;i++)printf("%c",str[i]);printf("\n");}return
0;}/************************************************************** Problem:
1105 User:
kaoyandaren123 Language:
C Result:
Accepted Time:0
ms Memory:912
kb****************************************************************/#include
<string.h>int
main(){char
str[100];int
i,j,k,len;char
ch;while(
gets(str)){if(strcmp(str,"!")==0)
break;len=strlen(str);for(i=0;i<len;i++){ if(str[i]<='z'&&str[i]>='a'){ printf("%c",'a'+'z'-str[i]); }else
if(str[i]<='Z'&&str[i]>='A'){ printf("%c",'A'+'Z'-str[i]); }else{ printf("%c",str[i]); }}printf("\n");}return
0;}/************************************************************** Problem:
1105 User:
kaoyandaren123 Language:
C Result:
Accepted Time:0
ms Memory:912
kb****************************************************************/
本文介绍了一个C语言程序,用于计算给定字符串的反码。该程序通过读取一系列字符串,并针对每个字符计算其反码,特别关注大小写字母的转换过程。
847

被折叠的 条评论
为什么被折叠?



