急急急!!!从键盘上输入任意一个英文单词,将该单词的元音字母大写,其余字母小写,输出到屏幕上。

例如;输入单词sunday 输出:sUndAy

#include <stdio.h>

int main()
{
    char str[100], *p = str;
    int i;
    scanf("%s", str);
    while (*p)
    {
        if (*p == 'a' || *p == 'e' || *p == 'i' || *p == 'o' || *p == 'u')
        {
            *p = *p - 'a' + 'A';
        }
        ++p;
    }
    printf("%s\n", str);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-22
#include<stdio.h>
#include<string.h>

int main()
{
    int i;
    char ch[100];
    scanf("%s", ch);
    for(i = 0; i < strlen(ch); i++)
    {
        switch(ch[i])
        {
            case 'a':;
            case 'e':;
            case 'i':;
            case 'o':;
            case 'u':ch[i] = ch[i] - 32;break;
            default:continue;
        }
    }
    printf("%s\n", ch);
}

第2个回答  2014-05-22
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int c;
int a;
while((c=getchar())!='\n')
{
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
{
printf("%c\n", toupper(c));
}
else
{
printf("%c\n", c);
}
}
return 0;
}