西安交大c++程序设计第五章作业.docx

西安交大c++程序设计第五章作业.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交通大学实验报告 课程 计算机程序设计 实验名称 函数 第1页共18页 系 别— _ 实 验 日 期2014 年3月28日 专业班级 __组别 实 验报告日期2014 年3月29日 姓 名 学号 报 告 退 发(订正、重做) 同组人 教 师审批签字 一、 实验目的 掌握函数的概念,使用函数的优越性,定义函数的方法以及调 用函数的方法。 二、 实验内容 第一题:编写字符串反转函数 mystrrev(),该函数的功能是 将指定字符串中的字符顺序颠倒排列。然后再编写主函数验证之。 源程序代码: #include <iostream> #include <cstring> using namespace std; void mystrrev( char string[]); //自定义函数,反转字符串 int main() { cout<< "请输入字符串(不多于个字符): "<<endl; char in[81]; cin.get(in,81); //输入字符串,允许输入空格 mystrrev(in); //对字符串in ”执行反转函数 cout<<endl; return 0; } void mystrrev( char string[]) { int m=strlen(string); ☆ 品敬 int mid; for (int i=0;i<m/2;i++) //将字符串的前一半字符与后一半字符对应交换,因而只执行 m/2 ( mid=string[i]; string[i]=string[m-i-1]; string[m-i-1]=mid; } string[m]= '\0' ; // 字符串结束 cout<<”反转结果为: \n" <<string; } 2.实验结果:由于函数中有“ for (int i=0;i<m/2;i++) ”的语句,为避免该 循环条件不准确,对奇数和偶数个的字符均进行了检测, 并有对含空 格和符号的字符串的检测: 奇数: 血 C:\vz indow5\5yrtem32\cmd.exe 清输人于杵串(不多于丽个字符】; ▲ abcde J 反转结果为: edcba 请按任意键言蜷.... 4 |{f_ 偶数: dB C 土% i nd ow5\5y5tem 32\c m d. ext I -=r || E Ijrf^l abcdef 反转结果为; fedcba 请按任意键1^.., ▲ □ 半: 4 Iff 1 含空格字符串: 请输后将串(不多于丽个字笋);.~~' ~ The best way to gain love is to g^ve it things* 3.问题分析: 起初没有用" .get ”,不够全面; 如果一直执行到i=m的话,就等于反转两次又回到了原来的字 符串顺序,因而要考虑只执行一半,而由于字符串长度有奇偶的问题, 所以容易错误; 第一次编写时,没有写sMng回]='\0';这使得输出结果混乱。 第二题:编写一组求数组中最大元素和最小元素的函数。其函 数原型为: int imax(int array[],int count); int imin(int array[],int count); 源程序代码: #include <iostream> using namespace std; int imax( int array [], int count); // 求整型数组的最大元素 int imin( int array [], int count); // 求整型数组的最小元素 int main() ( int num[40],n; cout<< "请输入您要输入的整数个数,不超过个: "; cin>>n; cout<< "请输入每个整数:\n"; int i; for (i=0;i<n;i++) //循环输入参与判断的整数 cin>>num[i]; cout<< "最大值为: "<<imax(num,n)<<endl; cout<< "最小值为: "<<imin(num,n)<<endl; return 0; } int imax( int array [], int count) ( int m=array [0]; //将最大值的初始值定义为 array[0] for (int i=1;i<count;i++) // 循环比较 m^jarray[i] 的大小 ( if (array [i]>m) m=array [i]; } return m; //返回最大值 } int imin( int array [], int count) ( int l= array [0]; for (int i=1;i<count;i++) ( if (arra

文档评论(0)

tangdequan1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档