C语言:有一篇文章,共三行文字,每行有80个字符。要求分别统计出单词个数、空格数。

本文主要是介绍C语言:有一篇文章,共三行文字,每行有80个字符。要求分别统计出单词个数、空格数。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分析:

#include<stdio.h>:这是一个预处理指令,将stdio.h头文件包含到程序中,以便使用输入输出函数。
int main():这是程序的主函数,是程序执行的入口点。
char a[3][80];:定义了一个二维字符数组a,用于存储三行字符串。每行字符串最大长度为80个字符。
int i, j, blank = 0, word = 0;:定义了整型变量i、j、blank和word。其中,i和j用于循环计数,blank用于保存空格数量,word用于保存单词数量。
for(i=0;i<3;i++):开始一个外层循环,循环次数为3,用于获取三行字符串。
{...}:外层循环的循环体,包含以下步骤:
a. printf("第%d行的字符为:", i+1);:打印提示信息,指示用户输入当前行的字符串。
b. gets(a[i]);:使用gets函数从标准输入中读取用户输入的字符串,并将其保存在二维字符数组a的第i行中。
c. printf("\n");:换行。
for(i=0;i<3;i++) for(j=0;j<80&&a[i][j]!='\0';j++):开始一个嵌套循环,用于遍历三行字符串中的字符。
{...}:嵌套循环的循环体,包含以下步骤:
a. if(a[i][j]==' ') blank++;:判断当前字符是否为空格,如果是,则将空格数量blank加1。
word = blank + 3;:计算单词数量。由于每个单词之间需要有至少一个空格分隔,所以单词数量等于空格数量blank加上3。
printf("单词的个数为:%d\n", word);:使用printf函数输出单词数量。
printf("空格的个数为:%d\n", blank);:使用printf函数输出空格数量。
return 0;:程序执行完毕,返回0表示成功结束。

代码:

#include<stdio.h>
int main()
{char a[3][80];int i,j,blank=0,word=0;for(i=0;i<3;i++){printf("第%d行的字符为:",i+1);gets(a[i]);printf("\n");}for(i=0;i<3;i++)for(j=0;j<80&&a[i][j]!='\0';j++){if(a[i][j]==' ')blank++;}word=blank+3;printf("单词的个数为:%d\n",word);printf("空格的个数为:%d\n",blank);return 0;
}

运行结果:

这篇关于C语言:有一篇文章,共三行文字,每行有80个字符。要求分别统计出单词个数、空格数。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438633

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

spoj705( 求不相同的子串个数)

题意:求串s的不同子串的个数 解题思路:任何子串都是某个后缀的前缀,对n个后缀排序,求某个后缀的前缀的个数,减去height[i](第i个后缀与第i-1 个后缀有相同的height[i]个前缀)。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstrin

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只