读取程序字符,行数,单词的个人程序

一、需求分析:

统计程序中有的字符个数,行数以及单词数量。

思路设计:

通过对题目要求个人理解和同学的讨论,我认为通过对行,字符和词数分别用函数统计:

行数的统计我用了:int isrand(char c, int &randnum)。

对单词的统计我用了这个函数:int isWord(char c, int &wordnum)。单个字母和由多个字母组成的默认为都是单词。

对字符的统计运用了这个函数:int ischaracter(char c)。字符统计时两个单词之间的空格,括弧,等号等也算为一个字符了。

在主函数(main函数)中分别调用这三个函数可以简单的实现对字符、行数和单词的统计。

二、关键词的解释:

rand=0:初始化行数为零,rand含义为行数的统计。

word=0:初始化单词为零,word含义为单词的数量。

character=0:初始化字符数为零,character为字符的统计。

三、运行调试:

1.当输入所有源程序时运行结果和系统统计结果一样,行数为:63.单词为:111.字符总数为:905.

2.用简单的输入检测字符和单词的统计是否正确。

输入:c = getchar()

理论输出结果:

行数:1

单词输出:2

字符输出:13

运行截图:

3.在进行其他的几组数据的运行检验:

运行如图:

四、个人心得体会:

  题目的基本要求不是太困难,就是对基础知识的要求很高。一开始想着将要检测的数据存储在文件里,但是折腾了整整半天在vs2013环境下无法将文件数据打开,但是在vc6.0中同样的代码可以运行,这要求我要积极去深入了解vs2013编译环境,不明白的一些问题在网上也有一些解释,需要自己去理解和消化。

  编程中每一次要将自己的代码风格标准化,模仿别人的编程习惯,慢慢培养自己的习惯,要坚持。标准化自己函数的定义,既方便了自己将来的阅读,又为别人读懂自己的代码做了必要的工作。每一次编程都是对自己的一次锻炼。

源代码:

#include <stdio.h>
#include<Windows.h>
int isrand(char c, int &randnum)//判断是否换行
{
if (c == ‘\n‘)
{
randnum++;
if (randnum == 1)
return 1;
else
return 0;
}
else
{
if (randnum>0)
randnum = 0;
return 0;
}
}
int isWord(char c, int &wordnum)//判断是否单词
{
if ((c >= ‘a‘&&c <= ‘z‘) || (c >= ‘A‘&&c <= ‘Z‘))
{
wordnum++;
if (wordnum == 1)
return 1;
else
return 0;
}
else
{
if (wordnum>0)
wordnum = 0;
return 0;
}
}
int ischaracter(char c)//判断是否字符
{
if ((c<‘0‘ || c>‘9‘) && c != ‘\n‘)
return 1;
else
return 0;
}
int main()
{
system("color 9B");
int rand = 0, word = 0, character = 0;//初始化总行数 ,单词数 ,字符数
int randnum = 0, wordnum = 0;//randnum为行数 ,wordnum为次数
char c;
printf("请输入要检测的程序\n");
while (randnum<2)//如果不是空行则循环
{
c = getchar();
rand += isrand(c, randnum);
word += isWord(c, wordnum);
character += ischaracter(c);
}
printf("总行数:%d\n", rand);
printf("单词数:%d\n", word);
printf("字符数:%d", character);
system("pause");
return 0;
}

时间: 2024-08-08 11:19:14

读取程序字符,行数,单词的个人程序的相关文章

python读取excel的行数

基于python3.x下 需要包 from openpyxl import load_workbook 代码如下: 1 from openpyxl import load_workbook 2 wb = load_workbook(filename=r'C:\\Users\\Administrator\\Desktop\\库存大表0803.xlsx') ##读取路径 3 ws = wb.get_sheet_by_name("Sheet1") ##读取名字为Sheet1的sheet表 4

[Perl系列二-实战] 1. Perl 读取代码的行数

前言 有的时候有这些需求: 1. 统计一个文件的行数 2. 统计一个源代码的有效行数.排除空行和注释行 3. 统一一个目录下各种文件的数量和行数 要达成这些需求,很多语言多可以做到, 但是使用Perl 应该是一个不错的选择 读取文件行数 读取一个文件的总行数(空行和注释都包含) 使用Perl 很简单 open(FILE ,<>); my $lines_counter = 0; while(<>) { $lines_counter += 1; } print "lines:

统计单词 字符 行数

#include<stdio.h>#define STOP '|'#include<ctype.h>int main(){ char ch; char prev; long n_chars=0L; int n_lines=0; int p_lines=0; int n_words=0; bool inword=false; printf("Enter text to be test(| to quit)\n"); while((ch=getchar())!=ST

Android 简单统计文本文件字符数、单词数、行数Demo

做的demo是统计文本文件的字符数.单词数.行数的,首先呢,我们必须要有一个文本文件.所以我们要么创建一个文本文件,并保存,然后再解析:要么就提前把文本文件先放到模拟器上,然后检索到文本名再进行解析.我感觉第二种方法不可行,因为要测试时,肯定要多次测试,每次还要找到文件再修改文件内容,过于麻烦.所以我用的第一种方法,文件内容更改后直接保存即可. 首先是 页面布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res

Linux - wc统计文件行数、单词数或字节数

一 wc简介 wc命令用来打印文件的文本行数.单词数.字节数等(print the number of newlines, words, and bytes in files).在Windows的Word中有个"字数统计"的工具,可以帮我们把选中范围的字数.字符数统计出来.Linux下的wc命令可以实现这个 功能.使用vi打开文件的时候,底下的信息也会显示行数和字节数. 二 常用参数 格式:wc -l <file> 打印指定文件的文本行数.(l=小写L) 以下参数可组合使用

Linux命令-统计文件中的字节数、字数、行数:wc

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数.字数.行数,并将统计结果显示输出.该命令统计指定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所指定文件的总统计数. 3.命令参数: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.一个字被定义为由空白.

获取文件的行数

// 获取文件行数 function lines($fileName) { $fp = fopen($fileName, "r"); $line = 0; while (!feof($fp)) { //每次读取1M if ($data = fread($fp, 1024 * 1024 * 1)) { //计算读取到的行数 $num = substr_count($data, "\n"); $line += $num; } } fclose($fp); return

关于wc.exe程序处理文件字符,单词数,行数

Gitee项目地址:https://gitee.com/xiecangxing/wc.git 本项目我只实现了基本功能,也就是文件的字符总数,单词总数,以及行数的计算,以及输出至哪个文件 并且直接使用C#语言进行编写 整个项目我集中在一个主类和一个主方法当中 以及十个方法,分别完成相应的任务,较为符合单一原则分别为 1.CheckFileName(string fileName) 检查文件名是否正确 2.CheckCommand(string command) 检查命令符是否正确 3.charC

作业-- 统计文本文件中的字符数、单词数、行数

用AndroidStudio解析统计文本文件中的字符数.单词数.行数. 代码部分: package administrator.mc; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widge