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

#include <stdio.h> #include <string.h> int isVowel(char ch) { char* vowels = "aeoiuyAEOIUY"; if (strchr(vowels, ch) != NULL) { return 1; } return 0; } int main(void) { char s[1005] = {0}; scanf("%[^\n]", s); for (int i = 0; s[i] != '\0'; i++) { if (!isVowel(s[i])) { putchar(s[i]); } } printf("\n"); return 0; }
这段代码的功能是:读取一行字符串,然后输出其中所有非元音字母的字符(包括辅音、数字、标点等)。它定义了一个检查元音的函数,并在主循环中跳过元音。

你的代码有一个小问题:元音字母集合中缺少了字母 'o' 和 'O'。你写的是 "aeoiuy",但正确的元音顺序通常是 "aeiouy"(注意 'o' 的位置)。检查一下你的字符串中是否包含了所有需要的元音字母。

- 检查元音字符串 "aeoiuy" 是否真的包含了所有元音字母,特别是 'o' 和 'O' 是否出现。
- 思考一下,如果输入中包含大写或小写的 'o',你的程序会正确判断吗?