将一批单词存入一个字符串数组中,例如:{"good","word","work","mean","thank","me","you","or","and"} 进行如下处理: 1) 统计含有子字符串or的单词个数; 2) 统计以字符m开头的单词个数。
将一批单词存入一个字符串数组中,例如:{"good","word","work","mean","thank","me","you","or","and"} 进行如下处理: 1) 统计含有子字符串or的单词个数; 2) 统计以字符m开头的单词个数。
参考答案和解析
D 解析:选项A是逐个字符赋值,字符数组末尾无“'\\0'”结束符,因此不是字符串。选项A应更正为:chars[5]={'g','o','o','d','!','\\0'}。选项B的错误在于,在赋值语句中对字符数组进行整体赋值。通常,在定义时可以对字符数组进行字符串的整体赋值。chars[5]='good!';是对选项B的更正。选项C存在语法错误。数组类型为int型,不是char型,不能进行初始化。chars[5]='good!';是对选项C的更正。选项D的“char*s;s='good!';”,是通过指针s指向字符串'good!'。
相关考题:
请编写函数fun(),该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<string. h>include<stdio, h>define N 80int fun (char *s){}main ( ){char line [N];int num=0;printf ("Enter a string: \n ");gets (line);num=fun (line);printf ("The number of word is: %d\n\n ",num);}
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]本程序实现对指定文件内的单词进行计数。其中使用二叉树结构来保存已经读入的不同单词,并对相同单词出现的次数进行计数。此二叉树的左孩子结点的字符串值小于父结点的字符串值,右孩子结点的字符串值大于父结点的字符串值。函数getword(char*filename,char*word)是从指定的文件中得到单词。char*strdup(char*S)是复制S所指向的字符串,并返回复制字符串的地址。[C程序]include <stdio.h>include <ctype.h>include <string.h>define MAXWORD 100struct node {char*word;int count;struct node*left;struct node*right;}struct node*addtree(struct node*P,char*w){ int cond;if(p==NULL){ /*向树中插入结点*/P=(struct node*)malloc(sizeof(struct node));P->word=strdup(w);P->count=1;(1) ;}elseif((oond=strcmp(w,p->word))==0) (2) ;else if(cond<0)p->left=(3);else p->right=(4);return p;}main(){ Struct node*root;char word[MAXWORD];root=NULL;filename="example.dat";while(getword(filename,word)!=EOF))root=(5);}
分析两个字符串,分别输出每个字符串的单词并统计出单词个数。阅读程序,填写空行。注意:不改动程序结构,不得增行或删行。import java.util.*;public class ex2{public static void main(String args[]){String s1="I am Chinese,she is my girlfriend";String s2="Oh,really,fine";StringTokenizer fenxi_1=new StringTokenizer(s1,",");StringTokenizer fenxi_2=new StringTokenizer(s2,",");int n1=fenxi_1.countTokens();int n2=fenxi_2.countTokens();while(fenxi_1.hasMoreTokens()){String s=fenxi_1.nextToken();System.out.println(s);}System.out.println("s1单词:"+n1+"个");while(fenxi_1.hasMoreTokens()){String s=______;System.out.println(s);}System.out.println("s2单词:"+n2+"个");}}
str是全部由小写字母字符和空格字符组成的字符串,由 num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。例如:str=“how do you do”,结果为:num=4。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char *s,int *num){int i,n=0;for(i=0;【 】;i++){if(s[i]>='a',s[i]<='z',(s[i+1)==’’||s[i+1]=='\0'))【 】;}【 】;}main(){char str[N];int num=0;printf("Enter a string:\n");gets(str);while(str[num])num++;fun(str,num);printf("The number of word is:%d\n\n",num);
有以下函数函数的功能是( )。A.统计x和y所指字符串中最前面连续相同的字符个数B.查找x和y所指字符串中是否有’\0’C.将y所指字符串赋给x所指存储空间D.统计x和y所指字符串中相同的字符个数
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:This is a C languageprogram.,函数的返回值为6。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!
在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有两个标题分别是“读数据”和“统计”的命令按钮,一个名称为Textl的文本框,两个标签控件,如图所示。程序功能如下:①单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容(该文件中含有不超过800个英文单词,单词之问用1个空格隔开)显示在Textl文本框中;②单击“统计”按钮,则自动统计Textl中所有5字母单词的个数,并显示在右下角的Labell标签中。“读数据”按钮的Click事件过程已经给出,“统计”按钮的Click事件过程不完整,函数GetWords的功能是从字符串s中分离出每个单词,依次放入数组words的数组元素中,返回值为单词的总数目。要求:请将程序中的注释符去掉,把?改为正确的内容;补全“统计”按钮Click事件过程中的代码,以实现上述程序功能。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“统计”,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数StrOL,其函数的功能是: 以读入文章的行为单位,以空格或标点符号(数据文件中仅含’,’或’.’作为标点符号)作为分隔符,对行中所有单词进行倒排, 单词间仍以空格作为分隔符,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组XX中。最后main函 数调用函数wmeDat把结果XX输出到文件0ut.dat中。提示:对于每一行字符串可以先提取最后一个单词,再提取倒数第二个单词,直至第一个单词,单词之后采用空格为分隔符,连接成一行新的字符串。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。
下列给定的程序中,proc()函数的功能是:将str所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输人:How do you do,则输出:HoW dOyoU d0。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
下面程序的功能是()。include include using namespace std;int main (){ in 下面程序的功能是( )。 #include <iostream> #include <string> using namespace std; int main () { int i=1, n=0; char s[80],*p; p=s; strcpy(p,"It is a book.."); for (; *p !=' \0' ;p++) { if(*p=='') i=0; else if (i==0) { n++; i=1; } } cout<<"n=" <<n<<end1; return 0; }A.统计字符串中的单词个数B.统计字符串中的空格个数C.统计字符串中的字母个数D.统计字符串中的全部字符个数
试题三(共15分)阅读以下说明和C函数,填补C函数中的空缺(1)~(6),将解答写在答题纸的对应栏内。【说明】函数numberOfwords (char message[])的功能是计算存储在message字符数组中的一段英文语句中的单词数目,输出每个单词(单词长度超过20时仅输出其前20个字母),并计算每个英文字母出现的次数(即频数),字母计数时不区分大小写。假设英文语句中的单词合乎规范(此处不考虑单词的正确性),单词不缩写或省略,即不会出现类似don't形式的词,单词之后都为空格或标点符号。函数中判定单词的规则是:(1)一个英文字母串是单词;(2) 一个数字串是单词;(3)表示名词所有格的撇号(')与对应的单词看作是一个单词。除上述规则外,其他情况概不考虑。例如,句子“The 1990's witnessed many changes in people's concepts ofconservation”中有10个单词,输出如下:The1990'switnessedmanychangesinpeople'sconceptsofconservation函数numberOfijvords中用到的部分标淮库函数如下所述。【C函数】int numberOfwords (char message[]){char wordbuffer[21],i=0; /*i用作wordbuffer的下标*/(1) pstr;int ps[26]={0); /*ps[0]用于表示字母'A'或'a'的频数*//*ps[1]用于表示字母'B'或'b'的频数,依此类推*/int wordcounter=0;pstr=message;while (*pstr){if((2)(*pstr)){/*调用函数判断是否为一个单词的开头字符*/i=0;do{/*将一个单词的字符逐个存入wordbuffer[],并对字母计数*/wordbuffer[i++]=*pstr;if(isalpha(*pstr)){if (3) (*pstr))ps[*pstr-'a']++;else ps[*pstr-'A']++;}(4) ; /*pstr指向下一字符*/}while (i20(isalnum(*pstr)||*pstr=='\"));if (i=20) /*处理超长单词(含名词所有格形式)*/while (isalnum(*pstr)||*pstr=='\"){pstr++;}(5) ='\0';/*设置暂存在wordbuffepstrr中的单词结尾*/wordcounter++; /*单词计数*/puts(wordbuffer); /*输出单词*/}(6); /*pstr指向下一字符*/}retum wordcounter;}
编程. 已知字符串:”this is a test of java”.按要求执行以下操作:(1) 统计该字符串中字母s出现的次数(2) 取出子字符串”test”(3) 将本字符串复制到一个字符数组Char[] str中.(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“ article”、“an”等于“An”。 【C代码】#include #define NUMBER 100int isValid(const char *s1); //若字符串s1仅包含英文字母则返回1,否则返回0char toLower(char ch); //将大写字母转换为小写字母int usr_strcmp(char *s1, char *s2); //比较字符串s1和s2,相等时返回0, //s1大则返回正整数,s1小则返回负整数void usr_strcpy(char *s1,const char *s2); //字符串s2拷贝给s1 int main(){ char word[32]; char maxWord[32]="", minWord[32] =""; int numWord=0; while(num Word0) / /调用usr_strcmp比较单词 usr_strcpy(max Word, word); / /用max Word记下最大单词 else if( (3) ='a' && *s='A' && *s='A' && ch
单选题查找和替换是word提供的编辑文档的高级应用,指定的关键字可以是()。A一个字符或者一副图片B一个单词或者一个表格C一个字符串或者一个公式D一个单词或者一个字符串