计算机与信息工程学院综合性、设计性实验报告.docx
计算机与信息工程学院综合性、设计性实验报告专业:人工智能年级/班级:2021级人工智能班2021-2022学年第一学期课程名称C语言程序设计指导教师李晓艳学号姓名侯家良实验地点实训大楼西304机房实验时间2021年11月16日1节-2节项目名称函数及程序结构实验类型综合性一、实验目的:(1)掌握函数的定义和调用方式。(2)理解函数声明的概念,掌握函数声明的方法。(3)理解函数类型、函数参数和返回值的概念以及它们之间的关系。(4)掌握函数嵌套调用的方法。(5)掌握全局变量和局部变量的用法。(6)掌握变量的存储类别。二、实验仪器或设备:微型计算机三、总体设计(设计原理、设计方案及流程等)实验内容:1.写一个函数,用“起泡法”对输入的10个字符按由小到大的顺序排序。2.写一个函数,输入一行字符,将此字符串中最长的单词输出。本实验运行环境:MicrosoftVisua1.c+2010学习版,采用结构化的程序设计方法。四、实验步骤(包括主要步骤、代码分析等)inc1.ude<stdio.h>inc1.ude<string.h>voidqi_sort()(chars202;inti=1.;for(i=1.;i<=10;i+)scanf("%s",si);intj=0;for(i=1.;i<10;i+)#冒泡排序for(j=1.;j<10-i+1.;j+)if(sjO>sj+1.O)(charc=sj0;sjO=sj+1.O;sj+1.0=c;for(i=1.;i<=10;i+)printf(,/%c,si0);printf(n);voidsearch()(chars1000;Printf(请输入一行字符串r);fgets(s,sizeof(s),stdin);#读取一行字符串inti=0,max=0,j=0;chara1000;intIen=Str1.en(s);for(i=0;i<1.en;i+)(J=i;whi1.e(sj+1.!=,&&sj+1.!=,n,)&&j+K1.en)j+;intcnt=j-i+1.;if(cnt>max)(max=cnt;intx=i,y=0;for(x=i,y=0;x<=j;x+,y+)ay=sx;ay-0,;whi1.e(sj+1.=,)j+;i=j;)Printf(最长单词是:);printf(sn,a);)intmain()(whi1.e(1.)Printf("是否想要气泡法排序1(yes):n");inti;scanf("%d",&i);if(i=1.)qi_sort();Printf(是否想找最长单词1(yes):n);scanf("%d",&i);if(i=1.)getchar();search();Printf(是否要结束:0(结束)n);scanf("%d",&i);if(i=0)break;)return0;五、结果分析与总结OC:UsCT$HPDe$1.rtopC*.e×e!是否想要气泡法排序Kyes):社bieqf1.Ikhbefhik1.1.q产否想找最长单词1.(yes):部输入行字符串acjkdsfIoeskje>kejkewksdnmdsdsdsmndsnmqrrJ长单词是:SdnBdsdsdsnndsnmqwvr疵否要结束:0(结束)ProCeSSexitedafter46.38secondswithreturnva1.ue0清按什出绢续._scanf不能读取一行包含空格的字符串,要用gets或fgets,在读取整数时输入换行符,需要getchar。读取换行符,否则读取一行字符串会读取换行符。我觉得在第二个找最长字符串中,找单词可以隔任意多个空格找到下一个单词,这个操作比较好。我的评价是90分。成绩等级:教师签名:日期:2021年11月16日