2019年四肖期期准_2019年马会正版_2019六肖生肖期期准

内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

首页 > 小知识 > 正文

统计字符串中单词出现的次数

2019-06-10 出处:网络 整理:zhishizhan.net

    话题:统计字符串中单词出现的次数

    回答:直接读一遍,遇见字符串查找数组中是否已存在,不存在时添加到数组中,并置为二维数组,前一个量为字符关键字,第二个量为出现次数。若已存在则第二个量递增,读取字符一遍即可完成数组统计

    参考回答:这段程序在歌词中找“you”,运行结果是2a = "爱你就说i love you,想你就上icq(i seek you)"b = "you"c = 1d = 0'ab不解释了,c是查找的起点,d是统计出现次数doc = instr(c, a, b) '第1次从1开始找,找到you位置在12,结果c=12(第2次就从15开始找)if c gt; 0 then d = d + 1: c = c + len(b) '如果找到了,加1次:下次向后跳3格找(因为you是3个字母)loop until c = 0 '如果找不到,循环结束msgbox d统计字符串中单词出现的次数

    话题:先提示输入一个单词,然后再输入一个句子,在这个句子中统计单词

    回答:// 查找字符串在另一个字符窜的位置 // 输入:sStr--查找字符串,dStr--目的字符串 // 返回值:查找字符串在目的字符窜的个数 int SearchStr(char* sStr,char* dStr) { int count = 0; // 暂存字符串 char*tmpChar = new char[_MAX_PATH]; if (NULL == sStr || NULL == dStr) { // 没有要搜索的字符串 return -1; } if (0 == strlen(sStr)||0==strlen(dStr)) { return -2; } tmpChar = dStr; while(NULL != tmpChar) { tmpChar = strstr(tmpChar,sStr); if (NULL != tmpChar) { // 次数加一 count++; // 将找到的字符串提出 tmpChar = amp;tmpChar[strlen(sStr)]; } } return count; } int _tmain(int argc, _TCHAR* argv[]) { char *findWords; char *sentences; char flag; int cout; printf("是否进入测试?y/n\n"); scanf("%c",amp;flag); // 解决回车键的问题。可以讲输入缓冲清除 fflush(stdin); while('n'!=flag) { findWords= new char[_MAX_PATH]; sentences = new char[_MAX_PATH]; printf("请输入要查找的字符串%s\n"); scanf("%s",findWords); fflush(stdin); printf("请输入包含该字符串的句子%s\n"); //scanf("%s",sentences); // 将带有空格的语句放入 // 输入最多259个字符遇到回车结束 // %[]将所有字符串包括空格都缓冲 scanf("%259[^\n]", sentences); fflush(stdin); // 这里用一个简单的分割字符串模式,类似split // 初始化wordCount,单词个数 cout =0; // 得到第一字符串中是否含有要查找的单词 cout=SearchStr(findWords,sentences); //cout = SearchStr(findWords,sentences); if (coutlt;=0) { printf("输入有误\n"); } else { printf("%s在这句现的次数为%d\n",findWords,cout); } flag ='\0'; printf("是否还要继续?y/n\n"); scanf("%c",amp;flag); fflush(stdin); delete findWords; delete sentences; } return 0; } 好久没写过了,这是一个简单的程序,如果想保存的话,读写就可以了,将每个printf都写到一个就可以了,单词比较的话,因为有空格,所以你输入的就是一个单词啊,只要找到上边所需要查找的字符串就行。

    参考回答:用查找的方法就行了,然后输出这句话

    话题:C语言:统计一篇英文文章中所要单词出现的次数以及出现的位置

    回答:存在与程序同一目录下,名为test.txt #include #include void change(char *a) { while(*a!='\0') { if(*a='A'*a*a+=32; a++; } } int main(void) { FILE *fp; char s[10],read[10],*p=read,ch; int n,sum=0,sn=0,flag=0; if((fp=fopen("test.txt","rt"))==NULL) { printf("\n打开失败"); getchar(); exit(1); } printf("请输入要查找的单词:\n"); gets(s); change(s); n=strlen(s); ch=fgetc(fp); if(flag==0) sn++; while(feof(fp)!=1) { while(ch!=' 'ch!=','ch!='.'ch!='!'ch!='?'ch!=':'ch!='"'ch!=';') { *p=ch; p++; ch=fgetc(fp); if(flag==0) sn++; } *p='\0'; change(read); if(strcmp(s,read)==0) { sum++; flag=1; } ch=fgetc(fp); if(flag==0) sn++; p=read; printf("%s\n",read); }if(flag==0) sn=n; printf("该文章中单词%s出现的次数为%d,第一个%s出现的位置为:%d",s,sum,s,sn-n); fclose(fp); return 0; }统计字符串中单词出现的次数

    话题:语言编程统计字符串s在字符串str现的次数

    回答:strdup //字符串拷贝,目的空间由该函数分配 strcpy //把str2指向的字符串拷贝到str1中去 strncpy //将字符串src中的count个字符拷贝到字符串dest中去 strcat //把字符串str2接到str1后面,str1最后的'\0'被取消strncat //将字符串src中前maxlen个字符连接到dest中strcmp //比较两个字符串str1,str2strncmp //对str1和str2中的前count个字符按字典顺序比较strpbrk //得到s1中第一个“同时也出现在s2中”字符的位置指针 strcspn //统计s1中从头开始直到第一个“来自s2中的字符”出现的长度strspn //统计s1中从头开始直到第一个“不来自s2中的字符”出现的长度strchr //找出str指向的字符串中第一次出现字符ch的位置 strrchr //得到字符串s中最后一个含有c字符的位置指针 strstr //找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)strrev //将字符串中的所有字符颠倒次序排列 strnset //将字符串s中前n个字符设置为ch的值strset //将字符串s中所有字符设置为ch的值strtok //分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词)strupr //将字符串s中的字符变为大写 strlwr //将字符串中的字符变为小写字符strlen //统计字符串str中字符的个数(不包括终止符'\0')strerror//得到错误的内容 memcpy //字符串拷贝memccpy //字符串拷贝,到指定长度或遇到指定字符时停止拷贝memchr //在字符串中第开始n个字符中寻找某个字符c的位置memcmp //按字典顺序比较两个串s1和s2的前n个字节memicmp //按字典顺序、不考虑字母大小写对字符串s1,s2前n个字符比较memmove //字符串拷贝memset //字符串中的n个字节内容设置为c我的方法是用strpbrk 查一个移动下指针 再查下一个

    参考回答:之前写的一个:#includeint sub_string(char *src, char *dest){int count,dest_len;char *p;do{p = strstr(src,dest);if(p){count++;src = p + dest_len - 1;} }while(p); return count;}

    话题:统计一个英文中各单词出现的次数,用一位数组如何实现

    回答:你的想法逻辑上不错,但是不可采取的。因为要是很大的话,能全部读进来吗?下面提供一个做参考。//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"#include "ctype.h"#include "string.h"#include "stdlib.h"struct WORD{char w[21];int n;};int main(void){int i,j,k,l;struct WORD w[1000];FILE *fp;if((fp=fopen("123.txt","r"))==NULL){printf("Open the file failure\n");exit(0);}i=0;while(fscanf(fp,"%s",w[i].w),!feof(fp)){if(!isalpha(w[i].w[0]))strcpy(w[i].w,w[i].w+1);if(!isalpha(w[i].w[j=strlen(w[i].w)-1]))w[i].w[j]='\0';for(j=0;jif(strcmp(w[j].w,w[i].w)==0){w[j].n++;break;}if(j=i)w[i++].n=1;}fclose(fp);for(k=0;kfor(l=k,j=l+1;jif(strcmp(w[l].w,w[j].w)0) l=j;if(l!=k){w[i]=w[l];w[l]=w[k];w[k]=w[i];}printf("%-20s%d\n",w[k].w,w[k].n);}return 0;}统计字符串中单词出现的次数

    话题:从键盘上输入一个字符串和一个字符,统计该字符在字符串现的次

    回答:#include int main(int argc, char** argv) { int i = 0; int num = 0; char zfc[10] = {}; char zifu; printf("请输入字符:\n"); scanf("%c",zifu); printf("请输入字符串:\n"); scanf("%s",zfc); for (i = 0; i

    参考回答:#include #define n 10 void main() { char ch; char str[n] = {0}; int i = 0, j = 0; printf("请输入字符串 : "); gets(str); printf("请输入要查找的字符: "); scanf("%c", ch); for (i; i

    话题:java程序:统计一段英文段落中每个单词出现的次数,这个段落存储在

    回答:import java.util.HashMap;import java.util.Iterator;import java.util.Scanner;/** * 字典类,文章过的所有单词及其次数 * @author Administrator * */public class Dictionary { private HashMap dictionary; private int wordsCount; /** * 字典这个类的构造函数 */ public Dictionary() { dictionary = new HashMap(); wordsCount = 0; } /** * 向字典里入一个单词 * @param word */ public void insert( Stringword ) { if ( dictionary.containsKey( word ) ) { int currentCount = dictionary.get( word ); dictionary.put( word, currentCount + 1 ); } else { dictionary.put( word, 1 ); } wordsCount++; } /** * 取得字典里所有不同的单词 * @return */ public int getDifferentWordsNum() { return dictionary.size(); } /** * 返回字典里的所有单词 * 其出现次数 * @return */ public int getAllWordsNum() { return wordsCount; } /** * 展示字典中存放的所有单词及其出现次数 */ public void displayDictionary() { for ( Iterator it = dictionary.keySet().iterator(); it.hasNext(); ) { String key = it.next(); System.out.print( key ); System.out.print( ": " ); System.out.println( dictionary.get( key ) ); } } public static void main( String[] args ) throws Exception { //这里放置你所说的段落 String passage = "public static void main( String[] args ) {"; Scanner scanner = new Scanner( passage ); Dictionary dict = new Dictionary(); while ( scanner.hasNextLine() ) { String line =scanner.nextLine(); boolean isBlankLine = line.matches( "\\W" ) || line.length() == 0; if ( isBlankLine ) { continue; } String[] words = line.split( "\\W" ); for ( Stringword : words ) { if ( word.length() != 0 ) { dict.insert( word ); } } } dict.displayDictionary(); }}

    参考回答:用正则表达式int n=0;String duanluo=段落;String regex="\\s匹配的单词\\s";Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(duanluo); while(matcher.find()) { n++;} System.out.println(regex+"出现"n+"次"); 。。。可能我理解错了 没试 但是这样的思路 会重复输出String[] aa=duanluo.split(" ");for(int i=0;i统计字符串中单词出现的次数

    话题:c语言:输入一行字符,统计出单词as出现的次数及它们出现的位置

    回答:#includeint main(){char str[1000];int i=0,count=0;gets(str); if(str[0]!=' ') count=1;for(i=1;str[i]!='\0';i++){if(str[i-1

    话题:VB6.0 如何统计字符串中某一单词出现次数

    回答:这段程序在歌词中找“you”,运行结果是2A = "爱你就说I love you,想你就上ICQ(I seek you)"B = "you"C = 1D = 0'AB不解释了,C是查找的起点,D是统计出现次数DoC = InStr(C, A, B) '第1次从1开始找,找到you位置在12,结果C=12(第2次就从15开始找)If C 0 Then D = D + 1: C = C + Len(B) '如果找到了,加1次:下次向后跳3格找(因为you是3个字母)Loop Until C = 0 '如果找不到,循环结束MsgBox D

    参考回答:你好!s="字符串"f="查找字"n=(len(s)-len(replace(s,f,"")))/len(f) 'n就是出现的次数,原理就是利用replace函数,将原字符串中的查找字都替换为空,然后计算替换前和替换后字符串长度的差值,再除以查找字的长度,就能得到准确的次数了.如果对你有帮助,望采纳。统计字符串中单词出现的次数

    话题:c语言中设计一个寻找输入字符串中字符值最大的字符,并输出最大的

    回答:#include#includeint main(){int i,d,t,w,m;char s[1000];while(gets(s)!=NULL){t=w=0;d=strlen(s);for(i=0;iif(tfor(i=0;iif(s[i]==s[m]) w++;printf("第一次出现位置为%d 出现次数为%d\n",m+1,w);}}望采纳

    参考回答:#includevoid main(){ char str[256];int i,k,n;gets(str);i=0; k=0; n=1;while ( str[i] ){ if ( str[k]else if ( str[k]==str[i] ) n++;i++;}printf("字符值最大字符为%c,第1次出现位置%d,出现次数%d\n",str[k],k,n);}

分享给小伙伴们:

相关文章

搞笑图片

,