ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:210.36KB ,
资源ID:6615969      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6615969.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西安交大C++随堂练习7.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西安交大C++随堂练习7.docx

1、西安交大C+随堂练习7西安交通大学实验报告一. 实验目的(1)掌握函数定义及函数调用;(2)掌握函数间参数传递方式(值方式和引用方式);(3)掌握库函数的使用;(4)函数的参数设置和应用;(5)局部变量与全局变量的区别与联系。二、实验内容()实验题目一:字符串大小字母写转换1、 小写字母转换为大写字母#includeusing namespace std;char change(char string) string=string-a+A; return string;int main() char string100; int i=0; cout请输入字符串:; cin.get(string

2、,100); cout=a&stringi=z) coutchange(stringi); else coutstringi; i+; coutendl; return 0;2、 大写字母转换为小写字母#includeusing namespace std;char change(char string) string=string-A+a; return string;int main() char string100; int i=0; cout请输入字符串:; cin.get(string,100); cout=A&stringi=Z) coutchange(stringi); else

3、 coutstringi; i+; coutendl; return 0;(二)实验题目二:调用函数绘制指定符号三角形#includeusing namespace std;void triangle(int r=3,char c=*) int i,j; for(i=1;i=1;i+) for(j=1;jr;j+) cout ; for(j=r;j=r;j+) coutc; coutendl; for(i=2;i=2;i+) for(j=1;jr-1;j+) cout ; for(j=r-1;j=r-1;j+) coutc; for(j=r;j=r;j+) cout ; for(j=r+1;j

4、=r+1;j+) coutc; coutendl; for(i=3;ir;i+) for(j=1;jr+1-i;j+) cout ; for(j=r-i+1;j=r-i+1;j+) coutc; for(j=r-i+2;j2*r+i-6;j+) cout ; for(j=2*r+i-6;j=2*r+i-6;j+) coutc; for(j=2*r+i-5;j=2*r-1;j+) cout ; coutendl; for(i=1;i=2*r-1;i+) coutc; coutendl;int main() char c=#; int n=3; coutnc; triangle(n,c); cou

5、tendl; triangle(n); coutendl; triangle(); coutendl; return 0;(三)实验题目三:求200-1000各位数字之和为5的所有整数#includeusing namespace std;void m(int n) int i,j,k,t; i=n/1000; j=(n/100)%10; k=(n/10)%10; t=n%10; if(i+j+k+t=5) coutn ;int main() int y; for(y=200;y=1000;y+) m(y); coutendl; return 0; (四)实验题目四:素数判断#includeu

6、sing namespace std;int isprime(int a) for(int i=2;i=a/2;i=i+) if(a%i=0) return 0; return 1;int main() int a; couta; if(isprime(a) couta是素数endl; else couta不是素数endl; return 0;(五)实验题目五:牛顿迭代法解非线性方程的根#include#includeusing namespace std;void newton(double x,double x0) double f,df; do x0=x; f=2*x0*x0*x0-4*

7、x0*x0+3*x0-6; df=6*x0*x0-8*x0+3; x=x0-f/df; while(fabs(f)1e-9|fabs(x-x0)1e-9);int main() double x=1.5; double x0=0; newton(x,x0); cout2*x*x*x-4*x*x+3*x-6=0在1.5附近的牛顿迭代根为nx=xendl; return 0;(六)实验题目六:用弦截法求一元非线性方程f(x)=x*ex-1在0.5,0.6中的根#include#includeusing namespace std;void jie(double x0,double x1) doub

8、le f0,f1,f2,x2; f0=x0*exp(x0)-1; f1=x1*exp(x1)-1; x2=x0-(x0-x1)*f0/(f0-f1); f2=x2*exp(x2)-1; while(fabs(f2)1.0E-8) x2=x0-(x0-x1)*f0/(f0-f1); if(f0*f20) x0=x2; else x1=x2; int main() double x1=0.6; double x0=0.5; double f0,f1,f2,x2; f0=x0*exp(x0)-1; f1=x1*exp(x1)-1; x2=x0-(x0-x1)*f0/(f0-f1); f2=x2*ex

9、p(x2)-1; jie(x0,x1); cout弦截法求f(x)=x*ex-1在0.5,0.6中根为nx=x2endl; return 0;问题拓展:f=x*x*x-5*x*x+16*x-80#include#includeusing namespace std;void jie(double x0,double x1) double f0,f1,f2,x2; f0=x0*x0*x0-5*x0*x0+16*x0-80; f1=x1*x1*x1-5*x1*x1+16*x1-80; x2=x0-(x0-x1)*f0/(f0-f1); f2=x2*x2*x2-5*x2*x2+16*x2-80; w

10、hile(fabs(f2)1.0E-8) x2=x0-(x0-x1)*f0/(f0-f1); if(f0*f20) x0=x2; else x1=x2; int main() double x1=6; double x0=2; double f0,f1,f2,x2; f0=x0*x0*x0-5*x0*x0+16*x0-80; f1=x1*x1*x1-5*x1*x1+16*x1-80; x2=x0-(x0-x1)*f0/(f0-f1); f2=x2*x2*x2-5*x2*x2+16*x2-80; jie(x0,x1); cout弦截法求f=x*x*x-5*x*x+16*x-80在2,6中根为nx

11、=x2endl; return 0;(七)实验题目七:编写函数判定一个正整数是否是递增数,即该数各位数字从左至右递增排列,显示输出0至9999999之间所有递增数。#includeusing namespace std;int k(int n) int a,b,c,d,e,f,g; a=n/1000000; b=(n/100000)%10; c=(n/10000)%10; d=(n/1000)%10; e=(n/100)%10; f=(n/10)%10; g=n%10; return (a=b&b=c&c=d&d=e&e=f&f=g);int main() int m=0; for(int n

12、=1;n10000000;n+) if(k(n) m+; if(m51) coutn11389) coutnt; return 0;二、个人小结本次程序设计主要学习了函数的定义及调用,其中的细节有参数的设置和应用以及传递方式,还有局部变量与全部变量的区别和联系。从学习内容上来说算不上难,只是具体在操作中调用函数总是出现这样那样的问题,即使是特别简单的问题也不那么容易解决,所以在以后学习过程中还要不断应用,已达到温故知新的目的!具体到题目中第三题因为条件不好控制,导致图形输出总是出现这样那样的问题,最后虽然问题得到了解决,但也使源程序变得十分冗长复杂,以后一定要相出一种简单的做法来使问题得到解决!对第七题理解不够透彻致使输出无法显示,经过请教老师解决了问题,同时也从根本上扫清了思想误区,更加透彻的了解到了函数调用的魅力!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1