实验08-1参考答案
实验八 指针程序设计
班级: 学号: 姓名: 评分:
一.【实验目的】
1、理解指针、地址和数组间的关系。 2、掌握通过指针操作数组元素的方法。 3、掌握数组名作为函数参数的编程方式。 4、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题
A.目标:进一步学习掌握程序调试的方法和技巧。
B.内容:有n个整数,使各数顺序往后循环移动m个位置(m #include void mov(int *, int, int); int main() { int m, n, i, a[80], *p; printf(\ scanf(\ for(p=a,i=0;i printf(\ for(i=0;i printf(\ printf(\ return 0; } void mov(int *x, int n, int m) { int i,j,k; for(i=0;i for(j=n-1;j>0;j--) x[j]=x[j-1]; /* 调试时设置断点 */ x[0]=k; } } ② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 2、完善程序,并调试运行程序 题目(1)分类统计。程序功能:输入一行文字,分类统计其中的大写字母、小写字母、数字、空格以及其他字 符的个数。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 例如: 输入: bFaE3 +8=1B 输出: 大写字母个数:3 小写字母个数:2 数 字 个 数:3 空 格 个 数:1 其他字符个数:2 ① 调试正确的源程序清单 #include void main( ) { int i,count[5]={0,0,0,0,0}; char str[80],*p; printf(\ gets(str);p=str; //请在两条星线之间填入相应的代码, 输入一行文字,分类统计其中的大写字母、小写字母、 //数字、空格以及其他字符的个数。 //要求:利用指针方法来处理。 /*******************************************************************************/ for(i=0;*p!='\\0';p++) { if(*p>='A' && *p<='Z') {count[0]++;continue;} //大写字母 else if(*p>='a' && *p<='z') {count[1]++;continue;} //小写字母 else if(*p>='0' && *p<='9') {count[2]++;continue;} //数字字符 else if(*p==' ') count[3]++; //空格字符 else count[4]++; //其他字符 } /*******************************************************************************/ printf(\ for(i=0;i<5;i++) { switch(i) { case 0:printf(\ case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ } printf(\ } } ② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(2)排序。程序功能:输入一个整数n(1 sort(int list[],int n),用选择法对list数组中的元素升序排列,其中:n为list数组中的元素个数。在main函数中调用sort函数实现排序,最后输出排序后的结果。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 ① 调试正确的源程序清单 //程序功能:输入一个整数n(1 int i, a[10]; void sort(int *, int); for(i=0; i<10; i++) scanf(\ //请在两条星线之间填入相应的代码, 调用sort函数,对数组a中的元素按照升序排列 /*************************************************************************/ sort(a,10); /*************************************************************************/ printf(\ for(i=0;i<10;i++)printf(\输出排序后的结果 printf(\} //定义一个函数void sort(int *p,int n),用选择法对指针p指向的数组中的元素按升序 //排列,其中:n为数组中的元素个数。 void sort(int *p, int n) { int i,j,iMin,temp; //请在两条星线之间填入相应的代码, 用选择法对指针p指向的数组中的元素升序排列 //其中:n为list数组中的元素个数。 //要求:利用指针方法来处理。 /*************************************************************************/ for(i=0;i for(j=i+1;j if(*(p+iMin)>*(p+j)) iMin=j; temp=*(p+i); *(p+i)=*(p+iMin); *(p+iMin)=temp; } /*************************************************************************/ } ② 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(3)找最长的字符串。程序功能:连续输入5个以空格分隔的字符串(字符串的长度不超过80),输出其中长 度最长的字符串。例如:输入:li wang zhang jin xiao,输出:zhang。(注:程序文件保存在“第3题”文件夹中)打开proj3.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 ① 调试正确的源程序清单 //程序功能:连续输入5个字符串(字符串的长度不超过80),输出其中长度最长的字符串。 //提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。 #include void main( ) { int i,MaxLen; char str[80], longest[80], *p; printf(\ scanf(\输入第一个字符串 strcpy(longest,str);MaxLen=strlen(str);//将第一个字符串设置为初始的最长字符串 p=str;//将指针p指向字符串str //请在两条星线之间填入相应的代码, 输入其它4个字符串,查找其中最长的字符串。 //要求:利用指针方法来处理。 /***********************************************************************/ for(i=0;i<4;i++){ scanf(\ if(strlen(p)>MaxLen){ MaxLen=strlen(p); strcpy(longest,p); } } /************************************************************************/ printf(\} ② 运行结果:(提示:通过屏幕截图,贴粘程序
…… 此处隐藏:1988字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




