将一行英文中每个单词首字母转换为大写字母

来源:互联网 发布:java中private的作用 编辑:程序博客网 时间:2024/06/09 10:23

#include <stdio.h>

main()
{
   int c,firstWord;

   inWord=0;
   while((c=getchar())!='\n')//依次输入若干个单词,直至按回车键,则把这些单词一次性输入内存(断电则消失,不会永久保存)
   {   
    
    if(c>='a'&&c<='z'||c>='A'&&c<= 'Z')//将单词的第一个字母转换为大写
    {
     if(!firstWord)
     {
      firstWord=1;
      if(c>='a'&&c<='z')
      c= c-'a'+'A';
     }
   
    }
 
    else  //如果不是空格,则说明是一个单词还没有输入完。若是空格,则是下一个单词的开始。
    {
                                                      
     if(c==' '||c==',')   //其他字符可以再添加,但是添加太多好像有问题,我也不知为什么?
     {
      firstWord=0;
       
     }
    
    }
     
            
      putchar(c);

   }
   getch();
}

 

 

 

运行结果:

0 0