文档详情

数组程序设计实验报告.doc

发布:2017-05-09约字共13页下载文档
文本预览下载声明
实验报告 田晶晶 201011041056 一、实验名称:数组程序设计实验 二、实验目的 1 掌握一位数组、二维数组的定义、引用方法; 2 掌握字符数组的定义与引用,常用字符串处理函数; 3 掌握与数组有关的一些常用算法。 三、实验内容 1 从键盘输入一段英文,找出长度最长和最短的单词,以及出现次数最多的字符。 从键盘输入一段英文,找出长度最长的单词。 实验代码: #include stdio.h #include string.h char word(char str[]) {int i,k,flag=0,max=0; char str1[10],ch[10]; for(i=0;str[i]!=\0;i++) if((65=str[i]str[i]=90)||(97=str[i]str[i]=122)) {if(flag==0) { k=0; ch[k]=str[i]; flag=1;} else if(i==strlen(str)-1) {k++; ch[k]=str[i]; ch[k+1]=\0; if(k+1max) {max=k+1; strcpy(str1,ch); } } else {k++; ch[k]=str[i]; } } else if(flag==1) {ch[k+1]=\0; flag=0; if(k+1max) {max=k+1; strcpy(str1,ch); } } printf(输入的字符串中,最长的单词有%d个字母,该单词是%s\n,max,str1); } main() {char a[100]; printf(请输入一行字符:\n); gets(a); word(a); } 实验运行结果 实验中出现的问题: 如果从键盘键入的英文中有两个或两个以上长度最长且相同的单词,则程序只能输出第一个单词,此问题并未解决。 从键盘键入一段英文,找出长度最短的单词 实验代码 #include stdio.h #include conio.h void XX(char string[]) { int i,j,word=0,wordstart=0; int zishu,xiaozishu=10; for(i=0;string[i]!=\0;i++) { if(string[i]== ) { word=0; } else if(word==0) { word=1; zishu=0; for(j=i;string[j]!= string[j]!=\0;j++) { zishu++; } if(zishuxiaozishu) { xiaozishu=zishu; wordstart=i; } } } for(i=wordstart;string[i]!= string[i]!=\0;i++) { putchar(string[i]); } } void main() { char str[80]; gets(str); XX(str); getch(); printf(\n); } 实验运行结果 实验中出现的问题 如果从键盘输入的英文中,最短单词并不唯一,本程序只能输出第一个,此问题还未解决。 从键盘输入一段英文,找出出现次数最多的字符。 实验代码 #include stdio.h #include stdlib.h #include string.h #define MAX_LEN 100 struct _NODE { char ch; int num; struct _NODE *next; }; struct _NODE *_STRCMP(struct _NODE *CNODE,char ch) { int flag = 0; if(CNODE == NULL) { CNODE = (struct _NODE *)malloc(sizeof(struct _NODE)); CNOD
显示全部
相似文档