C语言编程:不使用字符串处理库函数和自定义函数,下面要求的题目怎么编程?
(1)从键盘输入3个字符串(长度均不超过30)依次存入一个二维字符型数组的第1、2、3行。
(2)将字符串1中的非英文字母字符剔除后进行大小写转换。
(3)将字符串2逆序。
(4)将转换后的字符串1连接到转换后的字符串2作为字符数组的第3行。
(5)按照行列形式输出该字符型数组。 展开
代码文本:
int main(int argc,char *argv[]){
char s[3][61],i,j,k;
printf("Please enter 3 strings...\n");
scanf("%30s%30s%30s",s[0],s[1],s[2]);
for(j=i=0;s[0][i];i++)//字符串1剔除非字母字符后大小写互换
if(s[0][i]>='a' && s[0][i]<='z' || s[0][i]>='A' && s[0][i]<='Z')
s[0][j++]=s[0][i]^0x20;
s[0][j]='\0';
for(j=0;s[1][j];j++);//计算字符串2长度
for(j--,i=0;i<j;i++,j--)//逆序字符串2
k=s[1][i],s[1][i]=s[1][j],s[1][j]=k;
for(j=i=0;s[2][i]=s[1][i];i++);//字符2拷贝到第三行
while(s[2][i++]=s[0][j++]);//把字符串1连接上去
printf("\n%s\n%s\n%s\n",s[0],s[1],s[2]);//输出
return 0;
}