c语言初学者
编写一个程序 将所输入的语句中 大写转化成小写 小写转换成大写 符号不变
不能使用scanf fgets 还有数组
这是我的代码
能我看看怎么修改吗
且要含有 int swap_case(int character)
#include <stdio.h>
int swap_case(int character);
int main(void) {
int ch;
while((ch=getchar())!= EOF) {
if(swap_case(ch)==1 || swap_case(ch)==2 || swap_case(ch)==3) {
putchar(ch);
}
}
}
int swap_case(int character) {
char m=character;
if(m>='A' && m<='Z') {
m=m+32;
return 1;
}
else if(m>='a' && m<='z') {
m=m-32;
return 2;
}
else {
m=m*1;
return 3;
}
return 0;
}
你应该返回修改后的字符,而不是返回0,1,2,3
#include <stdio.h>
int swap_case(int character);
int main(void) {
int ch;
while ((ch = getchar()) != EOF) {
ch = swap_case(ch);
putchar(ch);
}
return 0;
}
int swap_case(int character) {
int m = character;
if (m >= 'A' && m <= 'Z') {
m = m + 32;
} else if (m >= 'a' && m <= 'z') {
m = m - 32;
}
return m;
}
#include <stdio.h>
int main(void) {
char ch;
while ((ch = getchar())!= '\n') {
if ((ch >= 'A'&&ch <='Z')||(ch>='a'&&ch<='z'))
ch = ch ^ 32;
putchar(ch);
}
putchar(ch);
return 0;
}
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
while ((ch = getchar()) != EOF)
{
if (ch >= 'A' && ch <= 'Z')
putchar('a' + ch - 'A');
else if (ch >= 'a' && ch <= 'z')
putchar('A' + ch - 'a');
else
putchar(ch);
}
return 0;
}