实验指针程序设计参考答案

上传人:cn****1 文档编号:507219054 上传时间:2023-01-13 格式:DOCX 页数:10 大小:88.17KB
返回 下载 相关 举报
实验指针程序设计参考答案_第1页
第1页 / 共10页
实验指针程序设计参考答案_第2页
第2页 / 共10页
实验指针程序设计参考答案_第3页
第3页 / 共10页
实验指针程序设计参考答案_第4页
第4页 / 共10页
实验指针程序设计参考答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《实验指针程序设计参考答案》由会员分享,可在线阅读,更多相关《实验指针程序设计参考答案(10页珍藏版)》请在金锄头文库上搜索。

1、实验八指针程序设计班级:学号:姓名:评分:一.【实验目的】1、理解指针、地址和数组间的关系。2、掌握通过指针操作数组元素的方法。3、掌握数组名作为函数参数的编程方式。4、进一步掌握C程序的调试方法和技巧。二.【实验内容和步骤】1、程序调试题A.目标:进一步学习掌握程序调试的方法和技巧。B.内容:有n个整数,使各数顺序往后循环移动m个位置(mn)。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个整数。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error08.cpp)调试正确的源程序清单#includevoidmov(int*,int

2、,int);intmain()intm,n,i,a80,*p;printf(Inputn,m:);scanf(%d%d,&n,&m);for(p=a,i=0;in;i+)scanf(%d,p+);mov(a,n,m);printf(Aftermove:);for(i=0;in;i+)printf(%5d,ai);printf(n);return0;voidmov(int*x,intn,intm)inti,j,k;for(i=0;i0;j-)xj=xj-1;/*调试时设置断点*/x0=k;运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。Inputiinm:1S312345G78910AFte

3、t*move=891012245G7Pressanykeijtocontinue2、完善程序,并调试运行程序题目(1)分类统计。程序功能:输入一行文字,分类统计其中的大写字母、小写字母、数字、空格以及其他字符的个数。(注:程序文件保存在“第1题”文件夹中)打开projl.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。例如:输入:bFaE3+8=1B输出:大写字母个数:3小写字母个数:2数字个数:3空格个数:1其他字符个数:2调试正确的源程序清单#include#includevoidmain()inti,count5=0,0,0,0,0;charstr80,*p;printf(I

4、nputalinechar:);gets(str);p=str;/请在两条星线之间填入相应的代码,输入一行文字,分类统计其中的大写字母、小写字母、/数字、空格以及其他字符的个数。/要求:利用指针方法来处理。/*/for(i=0;*p!=0;p+)大写字母小写字母数字字符空格字符其他字符if(*p=A&*p=a&*p=0&*p=9)count2+;continue;/elseif(*p=)count3+;/elsecount4+;/*/printf(Theresultis:n);for(i=0;i5;i+)switch(i)case0:printf(UpperChar:);break;case1

5、:printf(LowerChar:);break;case2:printf(DigitChar:);break;case3:printf(SpaceChar:);break;case4:printf(OtherChar:);break;printf(%dn,counti);运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(2)排序。程序功能:输入一个整数n(1nw10),然后输入n个整数存入数组a中,要求定义一个函数voidsort(intlist,intn),用选择法对list数组中的元素升序排列,其中:n为list数组中的元素个数。在main函数中调用sort函数实现排序,最后输

6、出排序后的结果。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。调试正确的源程序清单程序功能:输入一个整数n(1nW10),然后输入n个整数存入数组a中,定义并调用一个/函数voidsort(intlist口,intn),用选择法对list数组中的元素按升序排/歹U,其中:n为list数组中的元素个数。最后输出排序后的结果。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#includevoidmain()inti,a10;voidsort(int*,int);for(i=0;i10;i+)scanf(%d”,&

7、ai);/请在两条星线之间填入相应的代码,调用sort函数,对数组a中的元素按照升序排列/*/sort(a,10);/*/printf(Theresultis:);for(i=0;i10;i+)printf(%d,ai);输出排序后的结果printf(n);定义一个函数voidsort(int*p,intn),用选择法对指针p指向的数组中的元素按升序/排列,其中:n为数组中的元素个数。voidsort(int*p,intn)inti,j,iMin,temp;请在两条星线之间填入相应的代码,用选择法对指针p指向的数组中的元素升序排列其中:n为list数组中的元素个数。/要求:利用指针方法来处理。

8、/*/for(i=0;in;i+)iMin=i;for(j=i+1;j*(p+j)iMin=j;temp=*(p+i);*(p+i)=*(p+iMin);*(p+iMin尸temp;/*/运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。10596382741IhEresultis:1234567891BFyesskgytocnctinue.题目(3)找最长的字符串。程序功能:连续输入5个以空格分隔的字符串(字符串的长度不超过80),输出其中长度最长的字符串。例如:输入:liwangzhangjinxiao,输出:zhang。(注:程序文件保存在第3题”文件夹中)打开proj3.cpp文件,

9、在两条星线之间填入相应的代码,使程序完成该功能。调试正确的源程序清单/程序功能:连续输入5个字符串(字符串的长度不超过80),输出其中长度最长的字符串。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include#includevoidmain()inti,MaxLen;charstr80,longest80,*p;printf(Input5strings:);scanf(%s,str);输入第一个字符串将第一个字符串设置为初始的最长字符串strcpy(longest,str);MaxLen=strlen(str);/p=str;/将指针p指向字符串str/请在两条星线之间填

10、入相应的代码,输入其它4个字符串,查找其中最长的字符串。/要求:利用指针方法来处理。/*/for(i=0;iMaxLen)MaxLen=strlen(p);strcpy(longest,p);/*/printf(Thelongeststringis:%sn,longest);运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。Input5strings:mynan吐isgIieiiruidongrlhelonsfeststringis:puidongFreeskeytocontinue题目(4)找最大的字符串。程序功能:连续输入5个以空格分隔的字符串(字符串的长度不超过80),输出其中最大的字

11、符串。例如:输入:liwangzhajinxiao,输出:zha。(注:程序文件保存在第4题”文彳夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。调试正确的源程序清单/程序功能:连续输入5个字符串(字符串的长度不超过80),输出其中最大的字符串。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include#includevoidmain()inti;charstr80,max80,*p;printf(Input5strings:);scanf(%s,str);/输入第一个字符串strcpy(max,str);将第一个字符串设置为初始的最大字符串p=str;/将指针p指向字符串str/请在两条星线之间填入相应的代码,输入其它4个字符串,查找其中最大的字符串。/要求:利用指针方法来处理。/*/for(i=0;i0)strcpy(max,p);/*/printf(Themaxstringis:%sn,max);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号