C语言:字符串中的大写字母用规则替换,其余字符不变
程序功能:输入一批以回车结束的字符串(少于 80 个字符),将字符串中的大写字母用下列规则替换,其余字符不变,输出替换后的字符串。

其中一种笨办法:
#include
#define MAXLEN 80
int main()
{int i=0,j; char str[MAXLEN]; char a[13]={'A','B','C','D','E','F','G','H','I','J','K','L','M'};char b[13]={'Z','Y','X','W','V','U','T','S','R','Q','P','O','N'};printf("请输入一个以回车结束的字符串:");while((str[i]=getchar())!='\n'&&i<MAXLEN-1) i++;str[i]='\0'; /*置字符串结束标志*/ for(i=0;str[i]!='\0';i++){if(str[i]>='A'&&str[i]<='Z')for(j=0;j<13;j++){if(str[i]==a[j]){//找出大写字母字符串替代 str[i]=b[j];break;}if(str[i]==b[j]){str[i]=a[j];break;}}}printf("替换后的字符串为:"); for(i=0;str[i]!='\0';i++){printf("%c",str[i]);} return 0;
}
另一种方法:
#include
#define MAXLEN 80
int main()
{int i=0,j; char str[MAXLEN]; printf("请输入一个以回车结束的字符串:");while((str[i]=getchar())!='\n'&&i<MAXLEN-1) i++;str[i]='\0'; /*置字符串结束标志*/ printf("替换后的字符串为:"); for(i=0;str[i]!='\0';i++){if(str[i]>='A'&&str[i]<='Z')str[i]='A'+('Z'-str[i]);putchar(str[i]);}
// for(i=0;str[i]!='\0';i++){
// printf("%c",str[i]);
// } return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
