本文主要是介绍C //例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C语言设计 (第四版) 谭浩强 例6.8
例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:使用gets函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){char str[100];printf("Enter string: ");gets(str);int sign = 0;int count = 0;for(int i = 0; str[i] != '\0'; i++){if((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')){sign = 1;}else if(sign == 1){count++;sign = 0;}}if(sign == 1){count++;}printf("Word Count = %d\n", count);system("pause");return 0;
}
方法2:使用指针、函数的模块化设计
#include <stdio.h>
#include <stdlib.h>
#include <string.h>void inputStr(char *str){printf("Enter string: ");gets(str);
}int wordCount(char *str){int sign = 0;int count = 0;for(char *p = str; *p != '\0'; p++){if((*p >= 'A' && *p <= 'Z') || (*p >= 'a' && *p <= 'z')){sign = 1;}else if(sign == 1){count++;sign = 0;}}if(sign == 1){count++;}return count;
}int main(){char *str = (char*)malloc(100 * sizeof(str));inputStr(str);printf("Word Count = %d\n", wordCount(str));free(str);system("pause");return 0;
}
这篇关于C //例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!