
题目

解决代码及点评
/************************************************************************/
/* 
14. 有一行字符,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第一个字母改为大写。
*/
/************************************************************************/
void main()
{
  char p[50];
  int num=0;
  gets_s(p);
  char *Wp=p;
  while(*Wp==' ')//去掉前面空格
    Wp++;
  int flag=1;
  while(*Wp!='\0')  // 遍历所有字符
  {
    if (*Wp>='a'&&*Wp<='z') // 首字母大写
    {
      *Wp-=32;
      num++;    // 单词计数
    }
    while(*Wp!=' '&&*Wp!='\0')//度过字母
    { if (*Wp=='\0')
    {
      flag=0;// 退出标记
      break;
    }
    else 
    {
      Wp++;
    }
    }
    if (flag==0)
    {break;
    }
    while(*Wp==' ')//渡过空格
      Wp++;
  }
  printf("%s\n",p);
  printf("%d\n",num);
  system("pause");
}代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果











