A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

输入英文语句,单词首字符转换大写后输出??

6 个回复

倒序浏览
我也不会,嘻嘻 求大牛来解答
回复 使用道具 举报
  1. /*
  2.  使用gets()函数从键盘输入一个字符串,首字母大写输出
  3.  把非字母认定为单词之间的分隔符
  4. */
  5. #include <stdio.h>
  6. int main(){
  7.   //定义字符数组用来存储输入的字符串
  8. char str[100];
  9. //定义变量,用来记录是否是单词,1表示是单词,0 表示不是单词
  10. int word = 1;

  11. printf("请输入一个字符串\n");
  12.   gets(str);
  13.     //遍历字符串
  14.    for (int i = 0; str[i] != '\0'; i++) {
  15.      //判断是否是字母,不是字母将单词标记置为1
  16.          if (str[i]>'z' || str[i]<'A' || (str[i]>'Z' && str[i]<'a')) {
  17.           word = 1;
  18.          //是字母,并且单词标记为1,即认为是一个新的单词:首字母小写的改成大写,单词标记置为假(连续字母是同一单词)
  19.        }else if(word == 1){
  20.            if(str[i]>='a' && str[i]<='z'){
  21.              str[i] -= 32;
  22.            }
  23.            word = 0;
  24.        }
  25.     }
  26.     printf("字符串是%s\n",str);
  27.     return 0;
  28. }
复制代码
回复 使用道具 举报
这个是专业解答么...佩服,,学习学习..
回复 使用道具 举报

如果在oc中可以使用uppercaseString方法可以方便输出大写字母,因此如果想输出小写的话,使用NSString方法中的lowercaseString,是一样的原理
回复 使用道具 举报
如果使用C语言来进行编写的话,楼上是对的,利用ASCII编码来进行转换
回复 使用道具 举报
学的好累!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马