我是初学者,改错,但是我的确看不出错在哪里
程序改错
1.下列程序的功能为:将输入的小写字母改写成大写字母输出,其他字符不变,请纠正程序中存在的错误,使程序实现其功能。
#include
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='a'&&ch<='z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}
ch = (ch >= 'a' && ch <= 'z') ? (ch - 32) : ch; // 加改成减
ch = (ch >= 'a' && ch <= 'z') ? (ch - ('A' - 'a')) : ch; // 这样子也是不错的
#include <stdio.h>
int main() {
char ch;
scanf("%c", &ch);
ch = (ch >= 'a' && ch <= 'z') ? (ch - 32) : ch; // 加改成减
//ch = (ch >= 'a' && ch <= 'z') ? (ch - ('A' - 'a')) : ch; // 这样子也是不错的
printf("%c\n", ch);
return 0;
}
输入的是字符串的话,如果不包括空格的话,就用下面的
#include <stdio.h>
int main() {
char ch[100];
scanf("%s", ch);
for ( int i = 0 ; ch[i] != '\0' ; i++ ) {
ch[i] = (ch[i] >= 'a' && ch[i] <= 'z') ? (ch[i] + ('A' - 'a')) : ch[i];
}
printf("%s\n", ch);
return 0;
}
ch=(ch>='a'&&ch<='z')?(ch-32):ch;