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; }

浙公网安备 33010602011771号