课程 C++程序设计 实验名称 1-7章复习第1 页共7 页【荐】.docVIP

  • 28
  • 0
  • 约1.88千字
  • 约 6页
  • 2015-07-23 发布于河南
  • 举报

课程 C++程序设计 实验名称 1-7章复习第1 页共7 页【荐】.doc

课程 C++程序设计 实验名称 1-7章复习第1 页 共7 页 系别 材料学院 实验日期2007 年4月26号 专业班级 材料61 实 验 报 告 日 期2007年5月7号 姓名 黄洁 学号 6021002 报告退发( 订正、重做) 同 组 人_________________________________ 教 师 审 批 签 字 实验目的 复习前七章的内容,包括控制结构、基本数据类型、数组与结构体、表达式、函数、指针; 巩固各种类型操作语句的使用,以便更加熟练的掌握它们。 实验内容 (-)实验题目一:编写一组函数来实现词频统计功能:输入一系列英文单词,单词之间用空格隔开,用“xyz”表示结束输入,统计输入过哪些单词以及各单词出现的次数,统计时区分大小写字母,最后按单词的字典顺序输出单词和出现次数的对照表。 要点分析 定义适合的数据类型,实现词频统计功能。利用结构体来描述单词和词频,对于用户的每一次输入,判断是否是结束标志。 如果不是结束标志”xyz”,扫描已建立的词典数组,判断是否该词已经出现在词典中,如已存在,将对应的词频加1;如词典中不存在该词,向词典中添加新的词条。 在用户结束输入后,调用排序函数对词典进行排序并输出。 程序源代码 //Exercise6-4:词频统计 #include iostream.h #include string.h struct WordList { char word[50]; int freq; }; void Sort(WordList list[],int count) { for(int i=0;icount;i++) for(int j=count-1;ji;j--) if(strcmp(list[j-1].word,list[j].word)0) { WordList tmp; tmp=list[j-1]; list[j-1]=list[j]; list[j]=tmp; } } int main() { WordList list[5000]; int i,num=0; char temp[50]; cintemp; while(strcmp(temp,xyz)!=0) { for(i=0;inum;i++) { if(strcmp(list[i].word,temp)==0) { list[i].freq ++; break; } } if(i=num) { strcpy(list[i].word,temp); list[i].freq=1; num++; } cintemp; } Sort(list,num); for(i=0;inum;i++) cout list[i].word \tlist[i].freqendl; return 0; } 实验结果 (二)实验题目二:编写一个函数,用于将一个字符串转换为整型数值。其原型为 int atoi(char *string); 其中,参数string为待转换的字符串(包括正负号和数字)返回值为转换结果。 要点分析 确定转换符号类型和方法。 判断字符串首位有无非数字的正负号 按照ASCII码表中的编码关系对其余字符进行转换,并构造相应的整型数值。 程序代码 //Exercise 7-5:字符串转换为整型数值 #include iostream.h int atoi(char *string) { int num=0; int s=1; if(*string==-) { s=-1; string++; } if(*string==+) { s=1; string++; } while(*string!=0*string=0*string=9) { num=num*10+*string-0; string++; } return s*num; } int main() { char str[50]; cout请输入待转换的字符串:; cinstr; cout转换后的整型数值是:atoi(str)endl; return 0; }

文档评论(0)

1亿VIP精品文档

相关文档