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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
main()
{
    printf("请输入一段英文:\n");
   
    char a[100];  //定义一个数组接收字符串
   
    char *p = a;  //定义一指针指向数组首元素
   
    gets(a);  //输入一句英文
    if(*p != ' '&& *p >='a' && *p <='z' )  //如果不为空格且是小写
        {
           *p -= 32;
            p++;
        }
  
    while(*p != '\0')  //循环直到遇到\0
    {
        if(*p != ' ')  //如果不为空格就继续判断
        {
            p++;
        }
        else if(*p == ' ')  //如果检测到了空格就使下一个字母变为大写
        {
            p++;
            if(*p >='a' && *p <='z' )
            *p -= 32;
        }
    }
   
    puts(a);  //输出a
   
    return 0;
}

点评

学习了  发表于 2015-8-22 11:39

10 个回复

倒序浏览
好棒  带注释真好!
回复 使用道具 举报
//6、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)


//输入的时候可以包括数字和多个空格
#include<stdio.h>
#include<string.h>
void main()
{
        int i = 0,word =0,count = 0;
        char sentence[100];
        //输入一句话并保存在一维数组中
        printf("请输入一句话:\n");
        gets(sentence);
        //遍历字符串
        for(i=0;sentence[i]!='\0';i++)
        {
                //遇到空格给word赋值为0,然后对下一个字符进行大写(大写的时候
                //再对字母进行判断是否是a到z中的字母,如果是对其大写,若果不是不作处理原样输出)
                if(sentence[i]==' ')
                {
                        word=0;
                }else if((word==0)&&(sentence[i]>='a')&&(sentence[i]<='z'))
                {
                        word=1;
                        count++;
                        sentence[i]=sentence[i]-32;
                }

        }
        //打印输出字符串
        printf("输入字符串中的单词个数为%d\n",count);
        puts(sentence);
}
回复 使用道具 举报
lixianzhu0712 发表于 2015-8-22 21:16
好棒  带注释真好!

{:3_57:} 相互学习 你已经入学了吗?
回复 使用道具 举报
庞佳星 发表于 2015-8-22 21:55
//6、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)

加了单词个数计数 领教了
回复 使用道具 举报
庞佳星 发表于 2015-8-22 21:55
//6、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)

word 好巧妙 赞一个
回复 使用道具 举报
tr2e 中级黑马 2015-8-24 10:48:14
7#
庞佳星 发表于 2015-8-22 21:55
//6、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)

不过这个 string的表似乎是多余的 没必要写 因为没用字符串的函数
回复 使用道具 举报
tr2e 发表于 2015-8-24 10:30
相互学习 你已经入学了吗?

没有,看到foundation框架了。
回复 使用道具 举报
tr2e 发表于 2015-8-24 10:48
不过这个 string的表似乎是多余的 没必要写 因为没用字符串的函数

恩恩,这个函数谢了好长时间了,没动过了,那个的确没必要,而且你可以把get函数改成  fgets更安全些。
回复 使用道具 举报
挺好的   值得学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马