本帖最后由 堕落天使 于 2015-9-16 06:43 编辑
一个小程序,代码不多,但是思路比较重要。- /*
- 思路:
- 1、定义变量
- 2、提示用户输入字符串
- 3、接受字符串,并保存到数组中
- 4、循环取出每一个字符,遇到\0循环结束
- 5、判断:
- 当前循环字符是空格,要做一个标记,让程序知道下次循环不是空格时会是单词的第一个字母。
-
- */
- #include <stdio.h>
- int main(int argc, const char * argv[]) {
- char ch[100];
- int words = 0;
- int count = 0;
- printf("请输入一个字符串:\n");
- gets(ch);
- //循环取出每一个字符,指导\0结束循环
- for (int i =0; ch[i]!='\0'; i++) {
- if (ch[i]==' ') {
- words=0;//检查到单词的标记,如果下个字符不是空格则是单词的首字母。
- } else if(words==0){
- count++;
- ch[i]=ch[i]-32;//大小写的ASCII码转换。
- words=1;//此赋值很重要,如果没有,输出的字符将都是大写
- }
- }
- puts(ch);
- printf("单词的个数是:%d",count);
- return 0;
- }
复制代码
|
|