如何在Excel工作表中快速统计字数

如何在Excel工作表中快速统计字数,第1张

一、首先,打开Excel表格程序,然后在程序中打开要统计字数的表格。

二、然后,在相邻的单元格中输入“=len(”,回车确定。

三、然后,用鼠标点击要统计字数的单元格。

四、然后,在继续输入“)”,回车确认。

五、最后,就可以在Excel工作表中显示字数,统计字数完成,问题解决。

#include<stdio.h>

#define STOP '|'

#define bool int //VS是没有stdbool.h这个头文件的,bool类型自己定义

#define true 1

#define false 0

int main(void)

{

char c//读入字符

char prev //前一个读入字符

int n_chars=0L//字符数

int n_lines=0 //行数

int n_words=0 //单词数

int p_lines=0 //不完整的行数

bool inword=false//如果c 在一个单词中,则inword等于true

printf("Enter text to be analyzed(| to terminate):\n")

prev='\n' //用于识别完整的行

while((c=getchar())!=STOP)

{

n_chars++

if(c=='\n')

n_lines++//统计行

if(!isspace(c)&&!inword)

{

inword=true//开始一个新单词 这里我加了个分号 不然编译通不过

n_words++

}

if(isspace(c)&&inword)

inword=false//到达单词的尾部

prev=c //保存字符数

}

if(prev!='\n')

p_lines=1

printf("characters=%ld,words=%d,lines=%d.",n_chars,n_words,p_lines)

printf("partial lines=%d\n",p_lines)

return 0

}

/*

我是在vs2010中编译通过的,头部几行代码改动了下

1. bool inword=false这里定义时赋值是false,表示不再一个单词中。

if(!isspace(c)&&!inword)

{

inword=true

n_words++

}

if(isspace(c)&&inword)

inword=false

prev=c

假如字符c不是空格且不在一个单词中 那么把inword赋值为true表示开始统计这个新的单词,并把单词数加1

假如字符c是空格且在一个单词中那么说明字符c到达单词尾部了就将inword赋值为false表示现在的字符c不在一个单词中

2.bool inword=falseinword初值为false,!inword表示对inword取反,false取反当然就是true。你的理解是对的。

inword这个布尔逻辑变量是用来标识当前字符c是否在一个单词中。

3.

在while循环中有一行prev=c 后面注释说是保存字符数,这里的作用是用来保存当前进行统计的字符,不是字符数。

在循环体外面

if(prev!='\n')

p_lines=1

这里有用到prev,判断最后进行统计的那个字符是否是换行符。如果不是换行符那么说明是不完整的行则将p_lines赋值为1。

4.整个程序的算法其实是很简单的,程序看得多写得多了一下就可以明白。另外初学者学算法之前最好先学会调试,

会调试你就能明白算法的流程和原理。

*/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11629801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存