输出的为什么不对
#include<stdio.h>int main()
{
int i;
char ch;
for(i=0;i<4;i++)
{
scanf("%c",&ch);
}
i=0;
while(ch!='\n')
{
if(ch>='A'&&ch<='Z') printf("%c",ch+32);
else if(ch>='a'&&ch<='z')printf("%c",ch-32);
else if(ch>='0'&&ch<='9')printf("%c",'*');
else printf("%c",'@');
i++;
}
return 0;
}
本帖最后由 jackz007 于 2022-10-26 17:10 编辑
#include<stdio.h>
int main()
{
char ch ;
while((ch = getchar()) !='\n') {
if(ch >= 'A' && ch <= 'Z') printf("%c" , ch + 32) ;
else if(ch >= 'a' && ch <= 'z') printf("%c" , ch - 32) ;
else if(ch >= '0' && ch <= '9') printf("*") ;
else printf("@") ;
}
putchar('\n') ;
}
编译运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
ABCDEFG12345!@#$%^&*()
abcdefg*****@@@@@@@@@@
D:\\C> 你想输入几个字符?友情是你这程序只能读取3个字符加一个回车,输4个字符加回车会有问题 感觉代码判断里面是没有问题了,是不是因为'\n'也是字符,你可以把while(ch!='\n') 改为while( ch != '\0' )试下 '\0'没有对应的字符
页:
[1]