统计出现次数最多的3个单词

统计出现次数最多的3个单词
统计出现次数最多的3个单词

题目要求:使用c语言编程,统计出给定data.dat文件中的出现次数最多的

三个单词,以及这三个单词的出现的次数,计算程序运行的时间,结果写入result.dat中。(注:这里不区分单词大小写,如he与He当做是同一单词计数)

本程序使用二叉排序树方式将所有单词放入树中然后在其中查找相同单词,出现相同的则把它的出现次数加1,否则继续在左右子树中查找。最后使用数组将A[first],A[second],A[third]三个单词进行排序,并用这三个单词余剩余所有单词进行比较,不断更新,最后找到出现次数最多的三个单词,输出到文件中。

#include

#include

#include

#include

#include

#define MAX 20

typedef struct BTNode

{

char *word;

unsigned long count;

struct BTNode *lchild;

struct BTNode *rchild;

}BTNode;

struct words

{

char str[20]; //用来存放该单词

int num;

}A[7500000];

struct words a;

int k=0;

int sum=0;

void GetWord(FILE *fp,int lim,char word[])//获取一个单词

{

char *w=word;

char c;

while(isspace(c=getc(fp))); //跳过空格

if(c!=EOF)

c=tolower(c);

*word++=c;

if(!isalpha(c))//单词第一个不是字母,退出

{

*word='\0';

return ;

}

for( ;--lim>0;word++)

if(!isalnum(*word=getc(fp)))//不是字母或数字,退出

break;

*word='\0';

word=w;

}

BTNode *AddTree(BTNode *root,char *w) //建立二叉排序树

{

if(root==NULL)

{

root=(BTNode *)malloc(sizeof(BTNode)*1); //给二叉树分配空间

if(!root)

{

printf("No enough memory!\n");

exit(-1);

}

else

{

root->word=(char *)malloc(sizeof(char)*MAX);

if(!root->word)

{

printf("No enough memory!\n");

exit(-1);

}

}

strcpy(root->word,w);

root->count=1;

root->lchild=root->rchild=NULL;

}

else if(strcmp(w,root->word)==0) // 比较指针w所指单词与root->word指针所指字符是否一致

{

root->count++;

}

else if(strcmp(w,root->word)>0) //不相同时

root->rchild=AddTree(root->rchild,w); //在右子树插入单词,例如将student插在star的右子树

else

root->lchild=AddTree(root->lchild,w);

return root;

}

DTree(BTNode *root)//销毁二叉树

{

BTNode *p=root;

if(!p)

return;

DTree(p->lchild);

DTree(p->rchild);

free(p);

p=NULL;

}

void visit(BTNode *root)

{

A[k].num=root->count;

strcpy(A[k].str,root->word);

k++;

}

void trave(BTNode *root)

{

if(root!=NULL)

{

visit(root);

trave(root->lchild);

trave(root->rchild);

}

}

int main(int argc,char *argv[])

{

BTNode *root=NULL;

FILE *fp,*out;

int i,j;

struct words first,second,third;

char word[MAX];

double start,finish;

double duration;

start=clock();

printf("开始时间%1.10f\n", start);

fp=fopen("/home/local/c/data.dat","r");

out=fopen("/home/local/c/result.txt","w"); if(fp==NULL)

{

printf("Can not open the file1!\n");

exit(-1);

}

if(out==NULL)

{

printf("Can not open the file!\n");

exit(-1);

}

while(!feof(fp))

{

GetWord(fp,MAX,word);

if(isalpha(word[0]))//如果Word第一个是字母,则加入到二叉树中 {

root=AddTree(root,word);

sum++;

}

}

trave(root);

for(i=0;i<2;i++)

{

for(j=i+1;j<3;j++)

if(A[i].num

{

a=A[i];

A[i]=A[j];

A[j]=a;

}

}

first=A[0];

second=A[1];

third=A[2];

for(i=3;i

{

if(A[i].num>first.num)

{

third=second;

second=first;

first=A[i];

}

else if(A[i].num>second.num)

{

third=second;

second=A[i];

}

else if(A[i].num>third.num)

third=A[i];

}

fprintf(out,"%s,%d\n",first.str,first.num);

fprintf(out,"%s,%d\n",second.str,second.num);

fprintf(out,"%s,%d\n",third.str,third.num);

printf("%s,%s,%s",first.str,second.str,third.str); printf("%d,%d,%d",first.num,second.num,third.num); printf("\n");

finish=(double)clock();

duration=(double)(finish-start) / CLOCKS_PER_SEC; printf("结束时间%1.10f\n",finish);

printf("程序运行时间为%1.10fms\n",1000*duration); printf("The all words are: %d\n",sum);

fclose(fp);

fclose(out);

DTree(root);

return 0;

}

统计英文词汇

A abscissa横坐标 absence rate缺勤率 absolute number绝对数 absolute value绝对值 accident error偶然误差 accumulated frequency累积频数 alternative hypothesis备择假设 analysis of data分析资料 analysis of variance(ANOVA)方差分析 arith-log paper算术对数纸 arithmetic mean算术均数 assumed mean假定均数 arithmetic weighted mean加权算术均数asymmetry coefficient偏度系数 average平均数 average deviation平均差 B bar chart直条图、条图 bias偏性 binomial distribution二项分布 biometrics生物统计学 bivariate normal population双变量正态总体 C cartogram统计图 case fatality rate(or case mortality)病死率 census普查 chi-sguare(X2) test卡方检验 central tendency集中趋势 class interval组距 classification分组、分类 cluster sampling整群抽样 coefficient of correlation相关系数 coefficient of regression回归系数 coefficient of variability(or coefficieut of variation)变异系数 collection of data收集资料 column列(栏) combinative table组合表 combined standard deviation合并标准差 combined variance(or poolled variance)合并方差complete survey全面调查

从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他

; 题目名称:分类统计字符 ; 题目来源:https://www.360docs.net/doc/1315140874.html,/question/131013276.html ; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。 Code Segment Assume CS:Code,DS:Code ; -------------------------------------; 功能:显示指定地址(Str_Addr)的字符串 ; 入口: ; Str_Addr=字符串地址(要求在数据段) ; 用法: Output Str_Addr ; 用法举例:Output PromptStr Output MACRO Str_Addr lea dx,Str_Addr mov ah,9 int 21h EndM ; -------------------------------------; 功能:在当前光标位置显示一个字符 ; 入口:dl=要显示的字符 Output_Chr proc Near push ax mov ah,02h int 21h pop ax ret Output_Chr Endp ; -------------------------------------; 功能:显示、输出一个回车、换行 Output_CTLF proc Near push ax push dx mov ah,02h mov dl,0dh int 21h mov dl,0ah int 21h pop dx pop ax ret Output_CTLF Endp ; -------------------------------------; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示

Java统计字符串中每个字符出现次数

Java统计字符串中每个字符出现次数package com.perry.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * * @author perry_zhao * 统计一个字符串中每个字符出现的次数(不忽略大小写) */ public class CountStr { public Map count(String str){ System.out.println("需要统计的字符串:"+str+"准备开始统计每个字符出现的次数..."); Map map = new HashMap(); String temp =""; for(int i=0; i

统计出现次数最多的3个单词

题目要求:使用c语言编程,统计出给定data.dat文件中的出现次数最多的 三个单词,以及这三个单词的出现的次数,计算程序运行的时间,结果写入result.dat中。(注:这里不区分单词大小写,如he与He当做是同一单词计数) 本程序使用二叉排序树方式将所有单词放入树中然后在其中查找相同单词,出现相同的则把它的出现次数加1,否则继续在左右子树中查找。最后使用数组将A[first],A[second],A[third]三个单词进行排序,并用这三个单词余剩余所有单词进行比较,不断更新,最后找到出现次数最多的三个单词,输出到文件中。 #include #include #include #include #include #define MAX 20 typedef struct BTNode { char *word; unsigned long count; struct BTNode *lchild; struct BTNode *rchild; }BTNode; struct words { char str[20]; //用来存放该单词 int num; }A[7500000]; struct words a; int k=0; int sum=0; void GetWord(FILE *fp,int lim,char word[])//获取一个单词 { char *w=word; char c; while(isspace(c=getc(fp))); //跳过空格 if(c!=EOF) c=tolower(c); *word++=c; if(!isalpha(c))//单词第一个不是字母,退出 {

写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数

写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数 1、用ibatis的原因 2、jdbc、hibernate、ibatis的区别 3、ibatis 的核心配置文件 4、ibatis的核心类 1、在myeclipse加入hibernate环境的全过程是什么? 2、hibernate的核心配置文件是什么及其作用? 3、hibernate的核心类是什么,它们的相互关系是什么?重要的方法是什么? 4、关联: 5、hibernate中的one-to-many或many-to-one中常用的方式是什么? 6、Criteria 的 1、JDBC如何做事务处理? 2、写出几个在Jdbc中常用的接口 3、简述你对Statement,PreparedStatement,CallableStatement 的理解 4、Java中访问数据库的步骤? 5、JDBC中的核心类及其作用是什么? 6、执行存储过程用那一个类,如何操作输出参数?(操作) 8、可能会让 1.列举出10个JAVA语言的优势 2.列举出JAVA中10个面向对象编程的术语 3.列举出JAVA中6个比较常用的包 4.JAVA中的标识符有什么作用和特点 5.JAVA中的关键字有什么特点,列举出至少20个关键字 6.JAVA中数据类型如何分类? 7.JAVA中运算符的分类及举例 8.super,th 1、java中有几种类型的流?JDK为每种类型的流提供了一些抽

象类以供继承,请说出他们分别是哪些类?2、启动一个线程是用run()还是start()? 3、线程的基本概念、线程的基本状态以及状态之间的关系4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什 1. super()与this()的区别? 2. 作用域public,protected,private,以及不写时的区别? 3. 编程输出如下图形。 4. JAVA的事件委托机制和垃圾回收机制 5. 在JAVA中,如何跳出当前的多重嵌套循环? 6. 什么是java序列化,如何实现java 序列化?(写一个实例) 7. 一

汇编实验三:分类统计字符个数

一、实验目的 学习用汇编语言编写设计分支循环程序 二、实验要求 程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。 三、实验提示 (1)程序可0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。也可01H功能调用在接收字符后先分类计数再存入缓冲区中。 (2)程序需要进入debug运行并查看计数结果。 四、实验程序 datarea segment string db 80 db ? db 80 dup(?);定义字符串string,长度为80 letter db 0 ;定义存储单元letter digit db 0 ;定义存储单元digit other db 0 ;定义存储单元other datarea ends case segment main proc far assume cs:case, ds:datarea start: mov ax, datarea mov ds, ax lea dx, string mov ah, 0ah int 21h lea di, string + 2 ;输入一行字符,依次将每个字符存入字符串string中 sub ch,ch mov cl, string + 1 add dx, 2 check: ;将每个字符进行分类 mov al, [di] cmp al, 0dh

je exit ;字符串以回车符结束,若进行分类的字符是回车符,则跳转至exit,退出程序 cmp al, 30h ;与ASCII码中的0,即30h比较 jb o ;小于30h的,为其他类型字符,则跳转至o,在other块进行操作 cmp al, 39h ;与ASCII码中的9,即39h比较 jna d ;不大于39h的,结合不小于30h的,则跳转至d,在digit块进行操作 ja loro ;剩下的为字母或者其他类型 loro: cmp al, 41h ;与ASCII码中的A,即41h比较 jb o ;小于41h的,结合大于39h的,则跳转至o,在other块进行操作 cmp al, 7ah ;与ASCII码中的z,即7ah比较 ja o ;大于7ah的,则条钻至o,在other块进行操作 cmp al, 5ah ;与ASCII码中的Z,即5ah比较 jna l ;不大于5ah的,结合大于41h的,则跳转至l,在letter块进行操作 cmp al, 61h ;与ASCII码中的a,即61h比较 jnb l ;不小于61h的,结合不大于7ah的,则跳转至l,在letter块进行操作 jb o ;小于61h的,结合大于5ah的,则跳转至o,在other块进行操作 l: inc letter ;属于letter类型,则letter增1 inc di jmp check ;返回继续比较下一个字符 d: inc digit ;属于digit类型,则digit增1 inc di jmp check o: inc other ;属于other类型,则other增1 inc di jmp check exit: ;输出letter,digit,other类型的计数结果 mov ah, 02 mov dl, 0dh int 21h mov dl, 0ah int 21h mov dl, 4ch int 21h mov dl, 3ah int 21h mov dl, 0 int 21h xor ax, ax

excel中如何统计出一行中数字重复出现的次数

excel中如何统计出一行中数字重复出现的次数2011-09-14 10:10male希望|分类:办公软件|浏览3554次数字范围是1到40 有1千多个数字都是范围是1到40 我怎么计算重复出现的次数如 1 2 3 40 4 8 1 。。。。。。。。。 ------------ 1出现2次 ====怎么做啊帮帮忙

分享到: 2011-09-14 10:38提问者采纳 假设这是在A列中的一千多个数据 选中B1:B40 然后输入 =row(a1)&"出现"&countif(A:A,row(a1))&"次" 然后按下ctrl+回车 追问 =row(a1)&"出现"&countif(A:A,row(a1))&"次" 这样做能统计出数字但是好麻烦啊你能改下吗如(a1)输出有自动加1 开始统计(a2) 回答

(a1)输出有自动加1 开始统计(a2) 这二句是什么意思?看不懂你的意思 追问 我的意思是我统计的数字有1千3百多个吧 数字大小是1-36范围 怎么从不用每次改(a)里边的数字 =row(a1)&"出现"&countif(A:A,row(a1))&"次" =row(a2)&"出现"&countif(A:A,row(a2))&"次" =row(a3)&"出现"&countif(A:A,row(a3))&"次" =row(a4)&"出现"&countif(A:A,row(a4))&"次" 回答 你没有仔细看我的回复,而且也没能按我讲的试验一下。 根据你现在的追问,再讲一次。按说的操作一次。 假设你的这1300多个数据全是在A列 选中B1:B36 键盘输入 =row(a1)&"出现"&countif(A:A,row(a1))&"次" 输入后。按下ctrl+回车 你的要求已经实现,不需要再考虑什么a1 a2的问题。实践是检验真理的唯一标准。试试先。 追问 #REF! 我这样做后出现#REF! 回答 按我的操作再做一次。 还是不对,表示你进入问题的盲点了。 hi我,或者63639139我的腾讯企鹅 提问者评价 非常谢谢! 成功拉 没分拉不好意思

汇编分类统计字符个数

分类统计字符个数 一、实验目的 通过编程实现字符进行分类统计。 利用DOS功能调用INT 21H的10(0Ah)号功能,掌握进行键盘输入字符串的方法以及数据区设置。 掌握8086指令: CMP、JB、JA、SHL、INC、LEA、INT、JNZ、SCASB、LOOPE/LOOPNE等。 二、实验内容 1、编写一个程序实现将数据段中存储在STRING处到NUM处的字符串进行分类统计,然后将结果存入以letter、digit和other为名的存储单元中。查找字符串STRING中是否有空格,如有找出第一个出现的位置(先用十六进制显示,后修改为十进制显示),否则输出N。 2、修改前述1的程序,实现从键盘输入一个以回车键作为结束符的字符串(字符个数不超过80个),存入BUF中,分类统计BUF中字符串,将结果存入以letter、digit和other为名的存储单元中,屏幕输出大小写字母个数、数字个数和其它字符个数,并查找字符串BUF中是否有空格,如有找出第一个出现的位置(用十进制显示),否则输出N。(对有余力的同学) 实验结果: DEBUG 调试并查看结果的正确性。 对存储区STRING的内容“12ABCDE#!@Y(78)=(1).” 屏幕显示: N 对存储区STRING的内容“12ABCD E#! @Y(78)=(1).” 屏幕显示: Place=7 对第2部分,如键盘输入 12ABCDE# 3456789143!@Y(78)=(1).回车 输出结果: Letter=6 Digit=15 Other=9 Place=9 三、分析与体会 本次实验我花了较长的时间来完成。初略的程序花了5个多小时完成。后来遇到转换为十进制的时候就卡住了。后来在第六周周三的时候听了课以后才会做。

C语言统计文件中的字符数、单词数以及总行数

C语言统计文件中的字符数、单词数以及总行数 统计文件的字符数、单词数以及总行数,包括: 每行的字符数和单词数 文件的总字符数、总单词数以及总行数 注意: 空白字符(空格和tab缩进)不计入字符总数; 单词以空格为分隔; 不考虑一个单词在两行的情况; 限制每行的字符数不能超过1000。 代码如下 #include #include int *getCharNum(char *filename, int *totalNum); int main(){ char filename[30]; // totalNum[0]: 总行数totalNum[1]: 总字符数totalNum[2]: 总单词数 int totalNum[3] = {0, 0, 0}; printf("Input file name: "); scanf("%s", filename); if(getCharNum(filename, totalNum)){ printf("Total: %d lines, %d words, %d chars\n", totalNum[0], totalNum[2], totalNum[1]); }else{ printf("Error!\n"); } return 0; } /** * 统计文件的字符数、单词数、行数 * * @param filename 文件名 * @param totalNum 文件统计数据 * * @return 成功返回统计数据,否则返回NULL **/ int *getCharNum(char *filename, int *totalNum){ FILE *fp; // 指向文件的指针 char buffer[1003]; //缓冲区,存储读取到的每行的内容 int bufferLen; // 缓冲区中实际存储的内容的长度 int i; // 当前读到缓冲区的第i个字符 char c; // 读取到的字符

数量分析方法模拟试题三 (1)

商务统计方法模拟试题三 一、判断题 1、定义数据结构是在数据视窗中进行的。() 2、在进行二项分布检验时,要求检验变量必须是二值变量。() 3、Kendall相关系数适用于度量定类变量间的线性相关关系。() 4、非参数检验要求样本来自的总体服从或近似服从正态分布。() 5、配对样本中个案个数一定是相同的。() 6、在SPSS数据文件中,一行代表一个个案(case)。() 7、单样本t检验也可用于对总体比率进行检验。() 8、在进行方差分析时,若总方差主要是由组内方差引起的,则会拒绝原假设。() 9、二值变量序列中,游程数最小为1.() 10、变量值越大,对应的秩就会越小。() 二、单项选择题 1、SPSS数据文件默认的扩展名() A、.sps B、.spo C、.sav D、.rtf 2、在SPSS的运行方式中,最常见,对初学者最适用的方式是() A、程序运行方式 B、完全窗口菜单方式 C、混合运行方式 D、联机帮助方式 3、面对100份调查问卷,在进行SPSS数据输入时,应采用() A、原始数据的组织方式 B、计数数据的组织形式 4、下列关于变量名的取名规则的说法,不正确的是() A、变量名的字符数不能超过8个 B、变量名不区分大小写字母 C、“3G”是一个合法的变量名 D、变量名可以以汉字开头 5、在定义数据结构时,Label是指定义() A、变量名 B、变量名标签 C、变量值标签 D、变量类型 6、“年龄”这个变量属于() A、定类型变量 B、定序型变量 C、定距型变量 7、欲插入一个个案,应选择的一级菜单是() A、File B、Edit C、View D、Data 8、在横向合并时,[Excluded V ariables]框中的变量是() A、两个待合并的数据文件中的所有变量 B、合并后新的数据文件中包括的变量 C、合并后新的数据文件中不包括的变量 D、第二个待合并的数据文件中的变量 9、如果只想对收入大于5000或者职称不小于4级的职工进行计算,应输入的条件表达式是() A、收入>5000or 职称>4 B、收入>5000and 职称>4 C、收入>5000 or not(职称>4) D、收入>5000 or not(职称<4) 10、希望从全部231个个案中随机选出32个个案,应采用的选取方式是() A、指定条件选取 B、近似选取 C、精确选取 D、过滤变量选取 11、分类汇总中,默认计算的是各分类组的()

Excel函数应用之统计函数

Excel函数应用之统计函数 Excel的统计工作表函数用于对数据区域进行统计分析。例如,统计工作表函数可以用来统计样本的方差、数据区间的频率分布等。是不是觉得好像是很专业范畴的东西?是的,统计工作表函数中提供了很多属于统计学范畴的函数,但也有些函数其实在你我的日常生活中是很常用的,比如求班级平均成绩,排名等。在本文中,主要介绍一些常见的统计函数,而属于统计学范畴的函数不在此赘述,详细的使用方法可以参考Excel帮助及相关的书籍。 在介绍统计函数之前,请大家先看一下附表中的函数名称。是不是发现有些函数是很类似的,只是在名称中多了一个字母A?比如,AVERAGE与AVERAGEA;COUNT与COUNTA。基本上,名称中带A的函数在统计时不仅统计数字,而且文本和逻辑值(如TRUE 和 FALSE)也将计算在内。在下文中笔者将主要介绍不带A的几种常见函数的用法。 一、用于求平均值的统计函数AVERAGE、TRIMMEAN 1、求参数的算术平均值函数AVERAGE 语法形式为AVERAGE(number1,number2, ...) 其中Number1, number2, ...为要计算平均值的 1~30 个参数。这些参数可以是数字,或者是涉及数字的名称、数组或引用。如果数组或单元格引用参数中有文字、逻辑值或空单元格,则忽略其值。但是,如果单元格包含零值则计算在内。 2、求数据集的内部平均值TRIMMEAN 函数TRIMMEAN先从数据集的头部和尾部除去一定百分比的数据点,然后再求平均值。当希望在分析中剔除一部分数据的计算时,可以使用此函数。比如,我们在计算选手平均分数中常用去掉一个最高分,去掉一个最低分,XX号选手的最后得分,就可以使用该函数来计算。语法形式为TRIMMEAN(array,percent) 其中Array为需要进行筛选并求平均值的数组或数据区域。Percent为计算时所要除去的数据点的比例,例如,如果 percent = 0.2,在 20 个数据点的集合中,就要除去 4 个数据点(20 x 0.2),头部除去 2 个,尾部除去 2 个。函数 TRIMMEAN 将除去的数据点数目向下舍为最接近的 2 的倍数。 3、举例说明:示例中也列举了带A的函数AVERAGEA的求解方法。 求选手Annie的参赛分数。在这里,我们先假定已经将该选手的分数进行了从高到底的排序,在后面的介绍中我们将详细了解排序的方法。 图1

计算字符串中每种字符出现的次数

计算字符串中每种字符出现的次数[Dictionary泛型集合用法] 前几天,同学问了我一道程序员的面试题,题目是“统计用户输入的一串数字中每个数字出现的次数”。 当时看到这个题目,我的第一想法就是: 1.先判断用户输入的是否是数字,用if-else语句来判断; 2.将用户输入的数字字符串转换成char数组; 3.用for循环遍历每个字符,根据switch-case语句来逐一判断。 4.再建立一个int数组来接收判断后的结果,最后for循环输出。 class Program { static void Main(string[] args) { //计算用户输入的一串数字中每个数字出现的次数 Console.WriteLine("请输入一串数字"); string str = Console.ReadLine(); //将字符串转换为字符数组 char[] chnum = str.ToCharArray(); #region判断用户输入的是否是数字 for (int i = 0; i < chnum.Length; i++) {//判断每一个字符是否是数字通过char的方法来判断 if (!char.IsNumber(chnum[i]))

{ Console.WriteLine("您的输入有误,请输入数字"); Console.ReadKey(); return; } } #endregion //定义一个新的数组来保存计数 int[] count=new int[9]; #region for循环遍历 //for循环遍历 for (int i = 0; i < chnum.Length; i++) { switch (chnum[i]) { case'1': count[0]++; break; case'2': count[1]++; break; case'3':

杭电1004统计单词最多的个数

Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 51003 Accepted Submission(s): 18283 Problem Description Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result. This year, they decide to leave this lovely job to you. Input Input contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters. A test case with N = 0 terminates the input and this test case is not to be processed. Output For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case. Sample Input 5 green red blue red red 3 pink orange pink #include"stdio.h" #include"string.h" #define N 1111

微机课程方案字符串分类统计

个人资料整理仅限学习使用 课程设计报告微机原理目:题字符串分类统计周喜民学生姓名: 32 学号:专业班级:0601计陈顺赵晏龙同组姓名: 指导教师:范轶彦2018.1.4-2018.1.10 设计时间:

个人资料整理仅限学习使用 目录 2一、需求分析 3二、系统设计 31. 内容 3.思路2

5三、系统总体框图 6四、调试分析 6五、实验结果 7六、程序设计 13七、总结 14八、参考文献 个人资料整理仅限学习使用 一、需求分析 本程序主要用于,把输入的一串字符分类统计,分别统计出数字、大写字符、小写字符和其他字符的个数。 本程序采用汇编语言编程,定义了宏、比较判断、循环调用、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字,并显示数字的个数为5,同时显示其他相应类字符为空。

程序接收用户键入的一行字符<字符长度不大于80个,以回车结束),并把字符,数字,其它字符分类计数,然后将结果存入以Letter,Digit,Other为名的存储单元中。程序可采用0AH断将键入的字符直接送至键盘缓冲区,然后逐个取出分类计数。也可采用01H在接收字符后进行分类奇数在存入缓冲区。程序需要进入DEBUG看计数结果 二、系统设计 1.内容 从键盘输入任意一个字符串,以回车作为结束符并显示,分别统计并显示出其中数字字符、大写字符、小写字符以及其它字符的个数。 .思路2. 个人资料整理仅限学习使用 <1).首先定义两个宏,一个用于输出统计各字符的个数,另一个用于输出字符串。 <2).在数据段中定义各种字符提示信息以便程序清晰明白。 <3).定义数据缓冲区用于存放输入的字符串,定义NUM区用于存放统计的大写字符、小写字符、数字以及其它字符的个数。定义OTHERCHAR、BIGCHAR、SMALLCHAR 以及堆栈用于存放统计的相应字符保存,以便后来输出。 <4).首先调用DOS 10号功能用DX指定BUF区,将输入的字符串保存到BUF区中。 <5).将BUF+1的内容取出来,判断是否为0,如果为0表示没有输入任何字符,则程序跳到NEXTLAP<输出提示信息You do not input any string!),然后显示字符串?)然后调用DOS 1号功能获取您从键盘输入的数,判断是否为Y或y如果是则将程序跳到刚开始处重新执行,如果不是这两个字符则程序结束。 <6).如果输入了字符串,则调用DOS 2号功能将BUF里的内容输出来<2号功能可以输出$符号而9号功能遇到$符号就终止)。 <7).取字符出来进行比较统计,如果它比30H大且比39H小则为数字,如果比41H大且比5AH小则为大写字符,如果比61H大且比7AH小则为小写字符,如果不是这三种情况则为其它字符。 注:DX存数字个数,BX存小写字母个数,DI存大写字母个数,BP存其它字符个数。 <8).将数字个数、大写字母个数、小写字母个数、其它字符个数依次放入NUM 区。 <9).依次输出各字符: a.判断数字个数是否为0,如果为0则输出提示没有此类数据,否则输出数

统计字符的出现次数

COUNTIF函数 例1 统计在一串编号中的某个字符的个数 假设数据在A1至A10单元格中,数据为:sdf23fd,ds34fd,ds2,fd123,... 要统计数据中含有2的个数,公式 =COUNTIF(A1:A10,"*2*") 例2 数据(a) 数据(b) apples 32 oranges 54 peaches 75 apples 86 公式说明(结果) =COUNTIF(A2:A5,"apples") 计算第一列中苹果所在单元格的个数 (2) =COUNTIF(A2:A5,A4) 计算第一列中桃所在单元格的个数 (2) =COUNTIF(A2:A5,A3)+COUNTIF(A2:A5,A2) 计算第一列中柑桔和苹果所在单元格的个数 (3) =COUNTIF(B2:B5,">55") 计算第二列中值大于 55 的单元格个数 (2) =COUNTIF(B2:B5,"<>"&B4) 计算第二列中值不等于 75 的单元格个数 (2) =COUNTIF(B2:B5,">=32")-COUNTIF(B2:B5,">85") 计算第二列中值大于或等于 32 且小于或等于 85 的单元格个数 (3) SUMPRODUCT 例1 如何利用EXCEL函数统计一个单元格中相同字符个数,比如A1中有"ABCBA",将"B"的个数统计出 A1是 "ABCBA" 任何单元格输入公式: =SUMPRODUCT((MID(A1,ROW($1:$99),1)="A")*1) 显示 2 注意: 英文大小写会被视为相同字符 例2 在Excel中如何用函数统计出一个文本字符串中的字符种类的个数?比如A2表格中是“aabb”字符,要在B2中显示出“2”(2种字符,a和b),要用什么样的函数?用LEN函数只能统计字符的个数,不能统计出字符种类的个数。哪位高手能帮我解答一下!谢谢! 普通公式: =SUMPRODUCT(N(FIND(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),A2)=ROW(INDIRECT("1:"&L EN(A2))))) 数组公式:

统计用的英文单词

统计用的英文单词 decimal ['des?ml] adj. 十进位的,小数的n. 小数 align [??la?n] vt. 使成一线,使结盟;排整齐vi. 排列;成一条线 paste [pe?st] vt. 粘贴,张贴;以…覆盖于 tutorial [tju:?t?:ri?l] n. 个人辅导的;教程,辅导材料;使用说明书adj. 家庭教师的;指导教师的;辅导的;监护人的 string [str??]n. 绳子,带子;线丝,植物纤维;串;[计算机科学]字符串vt. 上弦,调弦;使排成一行或一系列;绑,系或用线挂起;延伸或扩展 gallery ['ɡ?l?r?] . 画廊,走廊;(教堂,议院等的)边座;旁听席;大批观众 sort cases 数据排序; 排序案件 std. deviation [计][WIN]标准偏差standard deviation variance [?ve?ri?ns] n.;<数>方差 S.E. mean 均值的标准误standard error skewness [sk'ju:nes] 偏斜 kurtosis [k?:'t??s?s] n. 峰度,峰态,峭度 dependent list 因变量列表 Levene’s Test for Equality of variances Levene's方差齐性检验sig. abbr. signetur (Latin=mark with directions) (拉丁语)方向标志signetur ['s?ɡn?t?:] [医](拉)标记,用法签

signature [?s?gn?t??(r)] n. 签名;署名;识别标志,鲜明特征;[医] 药的用法说明 df degree of freedom 自由度 std. Error Mean SEM 均数标准误【是描述均数抽样分布的离散程度及衡量均数抽样误差大小的尺度,反映的是样本均数之间的 变异。标准误用来衡量抽样误差。标准误越小,表明样本统计 量与总体参数的值越接近,样本对总体越有代表性,用样本统 计量推断总体参数的可靠度越大。因此,标准误是统计推断可 靠性的指标。】 One-way ANOV A 单变量-单因素方差分析 analysis of variance 方差分析ANOV A GLM Univariate 单变量多因素方差分析 GLM Multivariate 多变量多因素方差分析 Univariate [ju:n?'ve?r??t] adj. 单变量的,单变的 方差分析,多元回归,t检验都属于参数统计检验(parametric ),参数检验的前提是总体方差必须相同,如果不满足方差齐性检验,是不能进行方差分析,t检验,多元回归等参数检验。方差不齐的情况下我们可以做非参数检验(non-parametric),Tamhane's T2是非参数检验的一种,不是方差分析。除了Tamhane’s T2,在方差不齐的情况下可用的非参数检验还有,Wilcoxon Test, Friedman Test, Mann-whitney Test, Kruskal-Wallis test, 等等。

多组和分类数据的描述性统计分析

§3.2多组和分类数据的描述性统计分析17 ?盒子图 盒子图能够直观简洁地展现数据分布的主要特征.我们在R 中使用boxplot()函数作盒子图.在盒子图中,上下四分位数分别确定中间箱体的顶部和底部,箱体中间的粗线是中位数所在的位置.由箱体向上下伸出的垂直部分为“触须”(whiskers),表示数据的散布范围,其为1.5倍四分位间距内距四分位点最远的数据点.超出此范围的点可看作为异常点(outlier). §3.2多组和分类数据的描述性统计分析 在对于多组数据的描述性统计量的计算和图形表示方面,前面所介绍的部分方法不能够有效地使用,例如许多函数都不能直接对数据框进行操作.这时我们需要一些其他的函数配合使用. 1.图形表示: ?散点图:前面介绍的plot,可直接对数据框操作.此时将绘出数据框中所对应的所有变量两两之间的散点图.所做图框中第一行的散点图是以第一个变量为纵坐标,分别以第二、三...个变量为横坐标的散点图.这里数据举例说明. library(DAAG);plot(hills) ?盒子图:前面介绍的boxplot,亦可直接对数据框操作,其在同一个作图区域内画出各组数的盒子图.但是注意,此时由于不同组数据的尺度可能差别很大,这样的盒子图很多时候表达出来不是很有意义.boxplot(faithful).因此这样做比较适合多组数据具有同样意义或近似尺度的情形.例如,我们想做某一数值变量在某个因子变量的不同水平下的盒子图.我们可采用类似如下的命令: boxplot(skullw ~age,data=possum),亦可加上参数horizontal=T,将该盒子图横向放置. boxplot(possum$skullw ~possum$sex,horizontal=T) ?条件散点图:当数据集中含有一个或多个因子变量时,我们可使用条件散点图函数coplot()作出因子变量不同水平下的多个散点图,当然该方法也适用于各种给定条件或限制情形下的作图.其调用格式为 coplot(formula,data)比如coplot(possum[[9]]~possum[[7]] possum[[4]]),或 coplot(skullw ~taill age,data=possum); coplot(skullw ~taill age+sex,data=possum)

excel怎么统计某个数据出现次数

excel怎么统计某个数据出现次数 excel做表格统计时候经常需要对某个数据频率统计,计算频率首先要知道出现次数,那么在excel中怎么统计呢,笔者整理了两种方法来“筛选”该数据,具体过程请看下文。 方法一、查找 选中需要统计的区域,如果是全文统计就不需要选择,然后按Ctrl+F打开查找框,在“查找内容”中输入要统计的内容,然后点击“查找全部”,在下面的列表中就会显示出 选定区域中含有关键字的数量。 方法二、函数统计 另外,我们也可以通过统计公式将关键词的数量动态统计到Excel表格中。 选中一个空白单元格,输入=COUNTIF(A1:A5,"*无*"),就会显示出从A1~A5单 元格中关键字“北京”的出现次数。其中A1:A5表示统计范围,"*无*"表示统计的关键字 北京,如果没有*号则只统计“无”,不会统计“无敌”中的无。 补充:excel常用Ctrl组合快捷键 Ctrl+A全选 Ctrl+C复制 Ctrl+X剪切 Ctrl+V粘贴 Ctrl+D自动填充 Ctrl+B加粗 Ctrl+U下划线 Ctrl+I斜体 Ctrl+K超链接 Ctrl+F查找 Ctrl+H替换 Ctrl+L创建表 Ctrl+N新建工作簿 Ctrl+O打开文件

Ctrl+P打印 Ctrl+S保存 Ctrl+W关闭 Ctrl+Y撤销后重做 Ctrl+Z撤销 相关阅读:excel不常用的重要技巧 1.怎样快速打开设置单元格格式 我们经常在输入数值等的时候需要设置单元格格式,很多人都已经习惯了点击鼠 标右键选项,但是我们可以使用快捷键CTRL加1快速打开,如果自己的手不在鼠标 上非常方便。 当然,我们也可以用鼠标点击如下图所示位置快速打开设置单元格格式选项。 2.excel怎样设置小数位数 如果一行带小数的数字我们要快速转化为整数的话可以使用快捷键CTRL加SHIFT加1,设置起来速度非常快。 当然,我们经常不会只使用整数,小数位的缩进或者延伸我们可以选中要设置的 单元格后使用点击下面两个选项进行设置。 3.关闭excel表的快捷方式 我们经常需要打开一个表格完成工作后需要关闭,可以使用快捷方式CTRL加W,使用习惯后比较方便,希望能够对大家有帮助。

统计子串出现次数

数据结构实验报告 1、问题描述 设计算法,计算一个子串在一个字符串中出现的次数,如果字符串中不存在该子串,计次数为0. 2、基本要求 (1)设计获取字符串及子串的方法。 (2)设计算法统计子串在字符串中出现的次数。 (3)输入:字符串与子串。 (4)输出:字符串、子串及子串在字符串中出现的次数。 3.数据结构设计 typedef struct { char *ch; int length; }hstring; 4.串的基本操作 status strassign(hstring *t,char *cha)//串分配函数 { char *c; int i,j; for(i=0,c=cha;*c;++i,++c); if(!i){t->ch=NULL;t->length=0;} else { if(!(t->ch=(char*)malloc(i*sizeof(char)))) exit (0); for(j=0;jch+j)= *(cha+j); t->length=i; } return 1; } int strcompare(hstring *s,hstring *t)//串比较函数 { int i; for(i=0;i<(s->length)&&i<(t->length);++i) if(s->ch[i]!=t->ch[i]) return s->ch[i]-t->ch[i];

return s->length-t->length; } status concat(hstring *t,hstring s1,hstring s2)//串连接函数 { int i,j; t->length=s1.length+s2.length; if(!(t->ch=(char*)malloc(t->length*sizeof(char)))) exit (0); for(i=0;ich+i)=*(s1.ch+i); for(j=0;jch+i+j)=*(s2.ch+j); return 1; } status substring(hstring *sub,hstring s,int pos,int len) //求子串{ int i; if(pos<1||pos>s.length||len<0||len>s.length-pos+1) { sub->length=0; sub->ch=NULL; return 0; } if(!len){sub->ch=NULL;sub->length=0;} else { if(!(sub->ch=(char*)malloc(len*sizeof(char)))) exit (0); for(i=0;ich+i)=*(s.ch+pos-1+i); sub->length=len; } return 1; } status printstring(hstring s) { int i; if(!s.ch) {printf("over the zone\n"); return 0;} for(i=0;i

相关文档
最新文档