Онлайн компилятор C

#include <stdio.h> int main() { char ch; while (scanf("%c", &ch) == 1 && ch != '.') { if (ch >= 'A' && ch <= 'Z') { printf("%c", ch + 32); } else if (ch >= 'a' && ch <= 'z') { printf("%c", ch - 32); } else { printf("%c", ch); } } printf(".\n"); return 0; }
这段代码的功能是:从输入中逐个读取字符,遇到英文大写字母就转换为小写,遇到英文小写字母就转换为大写,其他字符保持不变,直到遇到句点(.)时停止,并在最后输出一个句点。

- 代码在遇到句点时会立即停止循环,但此时句点本身没有被处理。如果你希望句点也被输出(例如作为最后一个字符),需要调整循环结束的条件或处理方式。
- 注意 `scanf` 读取字符时可能会读取到换行符或空格,这些字符也会被处理并输出。如果输入中包含空格或换行,它们会原样输出,可能不是你期望的行为。