您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页C语言开放实验报告

C语言开放实验报告

来源:抵帆知识网


浙江工商大学信息学院

开放实验报告

课程: 深入程序设计实践 地点: 信息楼机房 日期: 2014.12.22 学号: 姓名: 班级: 1. 题目描述:

题目描述

输入两个字符行,从中找出在两个字符行中都出现的最长的英文单词。约定英文单词全由英文字母组成,其它字符被视作单词之间的分隔符。

输入

有多组数据,每组输入两个字符行。

输出

输出最长公共英文单词。若不存在,则输出”No common word!”。

样例输入

Hi, Steve Jobs. How are you?

Fine. There are lots of original ideas about new iphone in my mind.

样例输出

are

输入字符串用函数gets()。

2. 问题分析: 参见代码

3. 解题思路和步骤: 参见代码

4. 实现代码: #include #include int main () { char

//定义两个字符串数组

int ln_a,ln_b,s=0,count1=0,count2=0,i,j,max=0;

gets(a); //输入这两个字符串 gets(b); ln_a=strlen(a);

ln_b=strlen(b); //

a[100],b[100],*p1,*p2,*p3,*p4,*temp;

计算这两个字符串的长度 p1=a; p3=b;

for(i=0;iif ((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z')) {

p1=p1+i; //用指针p1记下字符串a中单词的首字母的地址 while

((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))

//这个while循环用来找出单词,当字符不是字母时循环结束。 {

i++; //i++用来看下一个字符是否为字母

count1++; //记下测试了几个字符 }

p2=p1+count1-1; //用指针p2记下单词最后一个字母的地址,。 for (j=0;jif ((b[j]>='A'&&b[j]<='Z')||(b[j]>='a'&&b[j]<='z'))

{

p3=p3+j; //用指针p3记下字符串b中单词的首字母的地址

while ((b[j]>='A'&&b[j]<='Z')||(b[j]>='a'&&b[j]<='z')) // 这个while循环用来找出单词,当字符不是字母时循环结束。 { j++; count2++; }

p4=p3+count2-1; //用指针p4记下单词最后一个字母的地址,。 if

//如果a中单词与b中单词长度相等,循环继续。 { for //进行两个单词的字母比对。 { if //每当有一个单词相同,s就++ s++; } if

(count1==count2)

(p1,p3;p1<=p2;p1++,p3++)

(*p1==*p3)

(s==count1&&s>max)

//如果s==count1,就意味着两个单词完全相等, {

//max是相同单词长度,如果s>max就进行替换

temp=p1; //同时记下单词首字母地址,以便输出。 }

j=ln_b+1; //一旦找到单词,就不必在b字符串中继续找下一个单词了。 } } }

s=j=count1=count2=0; //开始在a中找下一个单词,S,j,count1,count2都要归零。 /*for (p1;p1<=p2;p1++) printf (\"%c\ printf (\"\\n\"); count1=0;*/ } }

printf (\"%d\\n\ if (max>0) {

max=s;

for (i=0,temp;iif (max==0)

printf (\"No common word!\\n\");

return 0; }

5. 运行结果:

Hi, Steve Jobs. How are you?

Fine. There are lots of original ideas about new iphone in my mind. are 6. 小结:

以上为实验报告的格式要求!

作业上交要求:

命名:班级(如:计科1401)+学号(全)+姓名.doc

联系方式:

****************.edu.cn 656010

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务