E-首字母变大写 HDU - 2026

两种情况

1)第一个字符串的首字符,即第一个字符。——这种情况直接转换就好

2)第一个字符串之后的首字符。——对于这种情况,只需判断当前字符时候是否是小写,且前面是否是空格或Tab.

 

islower()判断是否是小写

toupper()转换成大写,两者都包含在<type.c>里面

或者用ASCII 码值,利用小写的范围判断,利用减法来转换

代码:

#include<stdio.h>
#include<ctype.h>
#define N 100
char a[N+1];
int main()
{
    int i;
    while(gets(a)!=NULL)
    {
        i=0;
        while(a[i])
        {
            if(i==0)
            { 
                if(islower(a[i]))
                    a[i]=toupper(a[i]);
            } 
                
            else 
            {
                if(islower(a[i])&&a[i-1]==' '||a[i-1]=='\t')
                a[i]=toupper(a[i]);
            }
            i++;
        }
        puts(a);
    }
    return 0;
} 
View Code

 

posted @ 2020-05-17 09:34  New、开始  阅读(224)  评论(0)    收藏  举报