输入一个英文句子,使用指针,将每个单词的首字母转换成大写,其它转换成小写,用C语言编写程序

2024-11-27 04:04:19
推荐回答(2个)
回答1:

#include 
int main(void){
    char s[300],*p;
    printf("Enter a English sentence...\n");
    if(fgets(s,300,stdin)){
        for(p=s;*p;p++)
            if(p==s || *(p-1)==' '){
                if(*p>='a' && *p<='z')
                    *p&=0xDF;
            }
            else if(*p>='A' && *p<='Z')
                *p|=0x20;
        printf("%s\n",s);
    }
    else
        printf("Input error, exit...\n");
    return 0;
}

回答2:

#include
int main()
{
    char sentence[200],*p;
    gets(sentence);
    p=sentence;
    if(*p>='a'&&*p<='z') *p=*p-32;
    while(*++p!='\0')
    {
        if(*(p-1)==' '||*(p-1)=='.'||*(p-1)=='?'||*(p-1)=='!')
        {
            if(*p>='a'&&*p<='z') *p-=32;
        }
        else if(*p>='A'&&*p<='Z') *p+=32;
    }
    puts(sentence);
    return 0;
}