黑马程序员技术交流社区

标题: 输入英文语句,单词首字符转换大写后输出?? [打印本页]

作者: 猜不透    时间: 2016-6-10 22:20
标题: 输入英文语句,单词首字符转换大写后输出??
输入英文语句,单词首字符转换大写后输出??
作者: dayuanzhang    时间: 2016-6-10 22:31
我也不会,嘻嘻 求大牛来解答
作者: 董立权    时间: 2016-6-10 23:31
  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. }
复制代码

作者: vivi342863    时间: 2016-6-12 19:43
这个是专业解答么...佩服,,学习学习..
作者: lp19940501    时间: 2016-6-14 18:49

如果在oc中可以使用uppercaseString方法可以方便输出大写字母,因此如果想输出小写的话,使用NSString方法中的lowercaseString,是一样的原理
作者: lp19940501    时间: 2016-6-14 18:50
如果使用C语言来进行编写的话,楼上是对的,利用ASCII编码来进行转换
作者: wangxiaoxuxu    时间: 2016-6-14 21:41
学的好累!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2