西安交大C--程序设计第五章作业汇总(共17页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《西安交大C--程序设计第五章作业汇总(共17页).doc》由会员分享,可在线阅读,更多相关《西安交大C--程序设计第五章作业汇总(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上西安交通大学实验报告课程_计算机程序设计_实验名称_函数_第 1 页 共 18 页系 别_ _ 实 验 日 期 2014 年 3月 28日专业班级_ _组别_ 实 验 报 告 日 期 2014 年 3 月 29日姓 名_ _学号_ _ 报 告 退 发 ( 订正 、 重做 )同 组 人_ 教 师 审 批 签 字 一、实验目的掌握函数的概念,使用函数的优越性,定义函数的方法以及调用函数的方法。二、实验内容 (一)第一题:编写字符串反转函数mystrrev(),该函数的功能是将指定字符串中的字符顺序颠倒排列。然后再编写主函数验证之。1.源程序代码: #include#inc
2、ludeusing namespace std;void mystrrev(char string);/自定义函数,反转字符串int main()cout请输入字符串(不多于个字符):endl;char in81;cin.get(in,81);/输入字符串,允许输入空格mystrrev(in);/对字符串“in”执行反转函数coutendl;return 0;void mystrrev(char string)int m=strlen(string);int mid;for(int i=0;im/2;i+)/将字符串的前一半字符与后一半字符对应交换,因而只执行m/2mid=stringi;st
3、ringi=stringm-i-1;stringm-i-1=mid;stringm=0;/字符串结束cout反转结果为:nstring;2.实验结果:由于函数中有“for(int i=0;im/2;i+)”的语句,为避免该循环条件不准确,对奇数和偶数个的字符均进行了检测,并有对含空格和符号的字符串的检测:(1)奇数:(2)偶数:(3)含空格字符串:3.问题分析:(1)起初没有用“.get”,不够全面;(2)如果一直执行到i=m的话,就等于反转两次又回到了原来的字符串顺序,因而要考虑只执行一半,而由于字符串长度有奇偶的问题,所以容易错误;(3)第一次编写时,没有写stringm=0;这使得输出结
4、果混乱。(二)第二题:编写一组求数组中最大元素和最小元素的函数。其函数原型为:int imax(int array,int count); int imin(int array,int count); 1.源程序代码:#includeusing namespace std;int imax(int array,int count);/求整型数组的最大元素int imin(int array,int count);/求整型数组的最小元素int main()int num40,n;coutn;cout请输入每个整数:n;int i;for(i=0;inumi;cout最大值为:imax(num,n
5、)endl;cout最小值为:imin(num,n)endl;return 0;int imax(int array,int count)int m=array0;/将最大值的初始值定义为array0for(int i=1;im)m=arrayi;return m;/返回最大值int imin(int array,int count)int l=array0;for(int i=1;icount;i+)if(arrayil)l=arrayi;return l;2.实验结果:3.问题分析:(1)起初误将:cout最大值为:imax(num,n)endl;cout最小值为:imin(num,n)m
6、)if(arrayi arrayi-1)if(arrayi arrayi-1)导致输出不正确。(3)虽然理论上应该加上判断输入的数字是否为整数的程序,但考虑到这个不是重点,只是徒劳的增加麻烦,因而就没有加。(三)第三题:编写函数isprime(int a)用来判断变量a是否为素数,若是素数,函数返回1,否则返回0。调用该函数找出任意给定的n个整数中的素数。1.源程序代码:#includeusing namespace std;int isprime(int a);int main()coutn;cout请输入要判断的各个数:n;int a50;int i;for(i=0;iai;cout其中的
7、素数为:n;for(i=0;in;i+)if(isprime(ai)!=0)/若经自定义函数判断是素数,输出该数coutai1&m!=0;i-)/循环判断直至能够整除或者对全部正整数判断完毕m=a%i;return(m!=0?1:0);/若为素数输出是,若不是输出非2.实验结果:3.问题分析:(1)对于“if(isprime(ai)!=0)”,起初写为“if(isprime(ai)=1)”,没有认识到只有零和非零的区别,导致程序始终判断得到错误结果;(2)对“int m=a-1,i”:原来写作“int m=a,i;”,这样的时候会将1也作为素数输出。为了避免如此,故将m的初始值设为a-1,这样
8、的话,输入1时m=0,正好能够使1不经过循环而判断为合数,同时,输入2及以上的数字时,由于初始值m0,也不会被影响。(四)第四题:(必做题)(注意必须用自定义函数,并和系统库函数asin()进行比较测试检验)1.源程序代码:/用自定义函数求arcsin(x),并和系统库函数asin()进行比较测试检验#include#includeusing namespace std;double jc(int n);/阶乘函数double cf(double x,int n);/乘方函数double myasin(double x,double last);/开方的函数int main()double x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安 交大 程序设计 第五 作业 汇总 17
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内