【问题描述】
输入一个字符串,把其中的字母字符大小写转换一下,同时把非字母字符单独存放在一个新的字符数组中。最后输出转换后的字符串,及非字母字符串。
例如,当输入字符串 a2bN6Pc8defWWg5@seu#nj 时,输出 A2Bn6pC8DEFwwG5@SEU#NJ 及 2685@#
【算法分析】
此题用到C语言中的函数 gets() 及 strlen()。
注意根据如下代码体会它们的用法。
【算法代码】
#include<stdio.h>
char src[1024],dest[1024],num[1024];
int i,j;
int main() {
gets(src);
for(i=0; src[i]!='\0'; i++) {
if(src[i]>='a' && src[i]<='z') {
dest[i]=src[i]-32;
}
else if(src[i]>='A' && src[i]<='Z') {
dest[i]=src[i]+32;
}
else {
dest[i]=src[i];
num[j]=src[i];
j++;
}
}
for(i=0;i<strlen(dest);i++){
printf("%c",dest[i]);
}
printf("\n");
for(i=0;i<strlen(num);i++){
printf("%c",num[i]);
}
return 0;
}
/*
in:
a2bN6Pc8defWWg5@seu#nj
out:
A2Bn6pC8DEFwwG5@SEU#NJ
2685@#
*/