文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。
程序不认识单词,但是程序认识空格。这样,整个问题实际上转换成了统计文章中的空格数。
可以使用指针写。也可以使用数组写
第一种方法 使用指针
// 禁用特定于 Visual Studio 的警告,允许使用标准C库函数 #define _CRT_SECURE_NO_WARNINGS // 包含标准输入输出库头文件 #include <stdio.h> // 包含字符串处理库头文件 #include <string.h> // 包含数学库头文件,尽管在代码中未使用 #include <math.h> int main() { char ch[80]; // 声明一个字符数组用于存储输入的字符串,最大长度为80 fgets(ch, 80, stdin); // 从标准输入读取字符串,存储在ch数组中 char* p = ch; // 声明一个字符指针p,指向字符数组ch的第一个字符 int len = strlen(ch); // 计算输入字符串的长度 int count = 0; // 初始化一个用于计数空格的变量 for (int i = 0; i < len; i++) { if (*(p + i) == ' ') // 如果当前字符是空格 count++; // 增加空格计数器 } // 输出单词的个数,这里使用count+1是因为单词之间的空格数量比单词数多1 printf("%d", count + 1); return 0; // 返回0表示程序成功执行 }
第二种方法 使用数组
// 禁用特定于 Visual Studio 的警告,允许使用标准C库函数 #define _CRT_SECURE_NO_WARNINGS // 包含标准输入输出库头文件 #include <stdio.h> // 包含字符串处理库头文件 #include <string.h> // 包含数学库头文件,尽管在代码中未使用 #include <math.h> int main() { char ch[80]; // 声明一个字符数组用于存储输入的字符串,最大长度为80 fgets(ch, 80, stdin); // 从标准输入读取字符串,存储在ch数组中 int len = strlen(ch); // 计算输入字符串的长度 int count = 0; // 初始化一个用于计数空格的变量 for (int i = 0; i < len; i++) { if (ch[i] == ' ') // 如果当前字符是空格 count++; // 增加空格计数器 } // 输出单词的个数,这里使用count+1是因为单词之间的空格数量比单词数多1 printf("%d", count + 1); return 0; // 返回0表示程序成功执行 }
0.0分
1 人评分
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:649 |
多输入输出练习1 (C语言代码)浏览:1207 |
母牛的故事 (C语言代码)浏览:989 |
P1001 (C语言代码)浏览:831 |
简单的a+b (C语言代码)浏览:669 |
【偶数求和】 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:560 |
The 3n + 1 problem (C语言代码)浏览:596 |
【亲和数】 (C语言代码)浏览:625 |
C二级辅导-分段函数 (C语言代码)浏览:653 |