77范文网 - 专业文章范例文档资料分享平台

C++程序设计实践样例(4)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第一章 控制台应用程序

⊿ x =( x i-1- x i)/(f(x i)-f(x i-1))*f(x i)

当⊿ x

(x i+1,f(x i+1))代替(x i,f(x i)),继续迭代。

求解方程:x*lg(x)=1 的实根的近似值,误差不超过 0.01。

[提示]令 f(x)=x*lgx-1,则 f(2)?-0.398<0,而 f(3)?0.431>0,根在 2 与 3 之间。

#include #include using namespace std; const max=30;

double a=2,b=3,ep=0.001; int main(){

int maxit,j;

double x1,x2,temp,f1,f2,dx; f1=a*log10(a)-1; f2=b*log10(b)-1; if(f1*f2>=0){

cout<<\初值错!\ return 0; }

if(fabs(f1)

x1=a; x2=b; } else{

x1=b; x2=a; temp=f1; f1=f2; f2=temp; }

for(j=1;j<=max;j++){

dx=(x1-x2)*f2/(f2-f1); cout<

f2=x2*log10(x2)-1; cout<<'\\t'<

cout<<\方程的根为:\ return 0;

16

误差定义为:

C++程序设计实践教材

}

} cout<< \迭代次数过多!\

return 1; }

4. 范例: 0 到 4 五个数字,组成五位数,每个数字用一次,但十位和百位 不能为 3(当然万位不能为 0),输出所有可能的五位数。

#include using namespace std; int main(){

int i,j,k,l,m,count=0; for(i=1;i<=4;i++){

for(j=0;j<=4;j++){

if(j==i) continue; for(k=0;k<=4;k++){

if(k==3||k==i||k==j) continue; for(l=0;l<=4;l++){

if(l==3||l==i||l==j||l==k) continue; for(m=0;m<=4;m++){

if(m==i||m==j||m==k||m==l) continue; cout<

if(count%5==0) cout<

return 0; }

穷举法采用循环语句,对须剔除的情况,应在循环体内用条件语句实现,并 使用 continue 语句,不可用 break。如果放在循环条件中,必然出错。

实验六 文本文件简单应用

一、实验目的 1. 学会将程序运行的结果存入文本文件。

2. 学会从文本文件读取数据,进行运算。

二、实验内容

1. 范例:修改实验五中的第二题,求出水仙花数后不是在屏幕上显示而是 存入文本文件。请在退出程序后,用记事本打开该文本文件,查看结果。

[格式]

(1) 说明一个文件流对象(内部文件)。文件流类型 ifstream 支持从输入文件中提 取数据的操作。而文件流类型 ofstream 完成数据写入输出文件中的各种操作。

ifstream ifile; ofstream ofile;

//定义输入文件,ifile 为文件名,可用任意标识符 /定义/输出文件,ofile 为文件名,可用任意标识符

特别注意:输入文件用于读,输出文件用于写。 (2) 打开文件。

ifile.open(\ //引号中的\为磁盘文件路径名 ofile.open(\

在文件流对象和磁盘文件名之间建立联系。

17

第一章 控制台应用程序

(3) 对文件进行读写操作。可用 C++的提取运算符(>>)和插入运算符(<<)进 行。也可以用读字符的 get()和读字符串的 getling()等函数。用输出文件(如 ofile) 代替 cout,输入文件(如 ifile)代替 cin。 (4) 关闭文件。 ifile.close(); ofile.close();

关闭文件时,系统把与该文件相关联的文件缓冲区中的数据写到磁盘文件 中,保证文件的完整;同时把磁盘文件名与文件流对象之间的关联断开,可防止 误操作修改了磁盘文件。 #include using namespace std; int main(){

int k=100,l,m,n,count=0;

ofstream ofile; ofile.open(\ ofile<<\水仙花数有:\ do{

l=k/100; n=k;

//百位 //个位

//定义输出文件

m=(k-l*100-n)/10;

if(k==l*l*l+m*m*m+n*n*n){

ofile<

if(count%5==0) ofile<

//关闭文件

2. 范例:编程从上题生成的文本文件读取水仙花数,并显示在屏幕上。

#include #include using namespace std; int main(){

char ch[256]; ifstream ifile;

ifile.open(\ cout<<\文件内容:\ do{

ifile.getline(ch,255); cout<

//由文件读入数据 //屏幕显示 //定义输入文件

18

C++程序设计实践教材

}while(ifile.eof()==0); ifile.close(); return 0; }

//当读到文件结束时,ifile.eof()为真 //关闭文件

注意:在读到文件结束符前,先读了一个空串,所以输出多了一空行。

2 2

3. 编写程序求 500 以内的勾股弦数。即满足 c =b +a 的三个数,要求 b>a。 2

将所有符合要求的组合存入文本文件。

4. 编写程序从上题建立的文本文件中读取 500 以内的勾股弦数,并显示在 屏幕上。

实验七 函数的基本概念

一、实验目的 函数是 C++程序的基本组成模块,要求熟练掌握:

1. 函数的定义及调用。

2. 函数参数的传递(传值),形参、实参的关系,函数声明。 3. 理解局部变量的意义。

二、实验内容

1. 范例:将教材中【例 2.12】改为用函数实现,编写一个用迭代法求平方 根的函数。

[分析] 写一个通用的求平方根的函数,参数(形参)为待求根的数,返回值为 该数的平方根。由于平方数不可能为负,因此在主调函数中,设置一个判断输入 数正负的操作,为正则用该数(实参)调用求平方根函数,为负输出错误信息。 [程序]

#include #include using namespace std;

double sroot(double a); int main(){

double x, a;

cout <<\ cin >>a; if(a<0) else{

x=sroot(a);

//调用求平方根函数

cout <<\

cout<<\

//求平方根函数原型声明

}

}

double sroot(double a){

double x = a/2; return 0;

19

第一章 控制台应用程序

while(fabs((x-a/x)/2)>1e-7) x=(x+a/x)/2; return (x); }

2. 范例:在按值传递中,被调函数执行时,形式参数得到了实在参数的一 个副本,这样调用函数可以向被调函数单方向传递数据。但在被调函数中不能对 实在参数本身操作。C++/C 对数组参数传递拷贝的是数组的起始地址,而不是拷 贝数组本身,所以操作是在原数组上进行。下面是传递数组的一个简单例子

#include #include using namespace std; void change_it(char c[4]); int main(){

char name[4] = \ cout <

void change_it(char c[4]){

strcpy(c, \ return; }

// Output ABC

// Output XYZ

3 .设计一个简单的计算器程序,从键盘输入\ 5\代表表达式\,程序 读入运算符和数据,调用 Calculate 函数,根据运算符进行+,-,*,/四则运算。要求 能反复执行这一过程,直到用户输入#符号作为运算符。

函数原型已给出如下:

double add(double, double); //加+ double minus(double, double); //减- double multi(double, double); //乘* double div(double, double); //除/

double Calculate(double,double,char); //运算符作为字符数据读入

4. 设计一个求两个数最大公约数的通用函数,算法不限,要求能反复输入 数据并输出其最大公约数。

*可用枚举法,从两数中的小者开始试,逐步减小,直到找到最大公约数。

实验八 函数的递归算法

一、实验目的

1. 掌握函数的嵌套调用、递归调用。

2. 掌握递归法编程。

20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++程序设计实践样例(4)在线全文阅读。

C++程序设计实践样例(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/657211.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: