c++程序设计初步函数与预处理.docx

上传人:b****6 文档编号:7152856 上传时间:2023-01-21 格式:DOCX 页数:15 大小:178.83KB
下载 相关 举报
c++程序设计初步函数与预处理.docx_第1页
第1页 / 共15页
c++程序设计初步函数与预处理.docx_第2页
第2页 / 共15页
c++程序设计初步函数与预处理.docx_第3页
第3页 / 共15页
c++程序设计初步函数与预处理.docx_第4页
第4页 / 共15页
c++程序设计初步函数与预处理.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c++程序设计初步函数与预处理.docx

《c++程序设计初步函数与预处理.docx》由会员分享,可在线阅读,更多相关《c++程序设计初步函数与预处理.docx(15页珍藏版)》请在冰豆网上搜索。

c++程序设计初步函数与预处理.docx

c++程序设计初步函数与预处理

 

C++程序设计上机实验报告

 

上机内容:

c++程序设计初步,函数与预处理

 

目录

1、实验目的........................................................................04

1、C++程序设计初步实验目的........................................04

2、函数与预处理实验目的..............................................04

2、实验内容........................................................................04

1、C++程序设计初步实验内容........................................04

2、函数与预处理实验内容..............................................06

3、程序源码........................................................................07

1、C++程序设计初步程序源码........................................07

(1)..............................................................................07

(2)..............................................................................08

(3)..............................................................................09

(4)..............................................................................10

(5)..............................................................................12

2、函数与预处理程序源码...............................................13

(1)...............................................................................13

(2)...............................................................................14

(3)...............................................................................15

(4)...............................................................................16

(5)...............................................................................17

4、调试结果.........................................................................18

1、程序设计初步调试结果...............................................18

(1)...............................................................................19

(2)...............................................................................18

(3)...............................................................................18

(4)...............................................................................18

(5)...............................................................................18

2、函数与预处理调试结果...............................................20

(1)...............................................................................21

(2)...............................................................................21

(3)...............................................................................22

(4)...............................................................................22

(5)...............................................................................22

5、实验心得.........................................................................23

 

1)实验目的

1、C++程序设计初步实验目的:

(1)掌握简单的C++程序的编写和调试方法。

(2)掌握C++程序中使用最多的语句——赋值语句和输入输出的使用方法。

(3)掌握结构化程序的3种基本结构(顺序结构、选择结构、循环结构)在C++中的实现。

2、函数与预处理实验目的:

(1)熟悉定义函数的方法、函数实参与形参的对应关系以及“值传递“的方式。

(2)熟悉函数的嵌套调用和递归调用的方法。

(3)熟悉全局变量、局部变量概念和使用方法。

(4)熟悉编译处理的应用。

(5)掌握多文件的程序的编译和运行的方法。

二、实验内容

1、C++程序设计初步实验内容

(1)有一函数:

x

x<1

2*x-11<=x<10

3*x-11x>=10

用cin语句输入x的值,求y值。

运行程序,输入x的值(分别为x<1、1~10、x>=10,检查输出的y是否正确。

(2)一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。

编程序找出1000内的所有完数,并按下面格式输出其因子:

6,itsfactorsare1,2,3

要求用两种不同的方法编程序,并作比较。

(3)用迭代法求x=

求平方根的迭代公式为

x(n+1)=

(xn+a/xn)/2

要求前后求出的x的值得差的绝对值小于

(4)要求输出以下图案。

*

***

*****

*******

*****

***

*

在运行程序得到正确结果后,请修改程序,以输出以下图案:

*

***

*****

*******

*****

***

*

(5)两个乒乓球队进行比赛,各出3人。

家对位A,B,C三人,乙队为X,Y,Z3人。

以抽签决定比赛名单。

有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛手的名单。

2、函数与预处理实验内容

(1)写一个判别素数的函数,在主函数输入一整数,输出是否为素数的信息。

(2)写一个函数验证哥德巴赫猜想,一个不小于6的偶数可以表示为两个素数之和:

6=3+3,8=3+5,10=3+7......在主函数中输入一

个不小于6的偶数n,然后调用函数gotbaha,在

gotbaha函数中输出以下形式的结果:

34=3+31

运行时输入该偶数的值为6,12,20,458,分析运行结果。

如果输入2,4,会出现什么情况?

修改程序,使之能输出相应的信息。

(3)解汉诺塔问题。

在运行时分别指定盘子数3,5,7。

并统计在不同盘子数的情况下,移动盘子多少次。

请试一下如果盘子数为16,在你所用的计算机上要运行多少时间。

设想一下,如果盘子数为64,会出现什么情况。

(4)输入一个字母字符,设置条件编译,使之能根据需要将小写字母改为大写字母输出,或将大写字母改为小写字母输出。

(5)求a*b和am值,其中b的值在程序中给出,a和m的值由键盘键入,写一个power函数得到am的值。

要求将主函数和power函数分别写成两个文件file1.cpp和file2.cpp,按照本书第二部分介绍的对包含多文件的程序的处理方法,对包含多文件的程序进行编译、连接和运行的处理的部分。

2)程序源码

1、程序设计初步程序源码:

#include

usingnamespacestd;

intmain()

{intx,y;

cin>>x;

if(x<1)

y=x;

elseif(x<10)

y=2*x-1;

else

y=3*x-11;

cout<<"y="<

cout<

return0;

}

2

#include

usingnamespacestd;

intmain()

{intk[11];

inti,a,n,s;

for(a=2;a<=1000;a++)

{n=0;

s=a;

for(i=1;i

if((a%i)==0)

{n++;

s=s-i;

k[n]=i;

}

if(s==0)

{cout<

cout<<"itsfactorsare:

";

for(i=1;i

cout<

cout<

}

}

return0;

}

3

#include

#include

usingnamespacestd;

intmain()

{floatx0,x1,a,b;

cout<<"enterapostivenumeber:

";

cin>>a;

b=fabs(a);

x0=b/2;

x1=(x0+b/x0)/2;

do

{x0=x1;

x1=(x0+b/x0)/2;

}while(fabs(x0-x1)>=1e-5);

cout<<"thesquererootof"<

return0;

}

4

第一个图案

#include

usingnamespacestd;

intmain()

{inti,k;

for(i=0;i<=3;i++)

{for(k=0;k<=2*i;k++)

cout<<"*";

cout<

}

for(i=0;i<=2;i++)

{for(k=0;k<=4-2*i;k++)

cout<<"*";

cout<

}

return0;

}

第二个图案

#include

usingnamespacestd;

intmain()

{inti,k,m;

for(i=0;i<=3;i++)

{for(m=0;m<=3-i;m++)

cout<<"";

for(k=0;k<=2*i;k++)

cout<<"*";

cout<

}

for(i=0;i<=2;i++)

{for(m=0;m<=i+1;m++)

cout<<"";

for(k=0;k<=4-2*i;k++)

cout<<"*";

cout<

}

return0;

}

5

#include

usingnamespacestd;

intmain()

{chari,j,k;

for(i='X';i<='Z';i++)

for(j='X';j<='Z';j++)

if(i!

=j)

for(k='X';k<='Z';k++)

if(i!

=k&&j!

=k)

if(i!

='X'&&k!

='X'&&k!

='Z')

cout<<"A--"<

return0;

}

 

2、函数与预处理程序源码:

(1)#include

usingnamespacestd;

intmain()

{intprime(int);

intn;

cout<<"inputaninteger:

";

cin>>n;

if(prime(n))

cout<

else

cout<

return0;

}

intprime(intn)

{intflag=1,i;

for(i=2;i

if(n%i==0)

flag=0;

return(flag);

}

(2)#include

#include

usingnamespacestd;

intmain()

{voidgotbaha(int);

intn;

cout<<"inputn:

";

cin>>n;

gotbaha(n);

return0;

}

voidgotbaha(intn)

{intprime(int);

inta,b;

for(a=3;a<=n/2;a=a+2)

{if(prime(a))

{b=n-a;

if(prime(b))

cout<

}

}

}

intprime(intm)

{inti,k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>k)return1;

elsereturn0;

}

(3)

#include

usingnamespacestd;

intmain()

{voidhanoi(intn,charone,chartwo,charthree);

intm;

cout<<"inputthenumberofdisks:

";

cin>>m;

cout<<"Thestepsofmoving"<

"<

hanoi(m,'A','B','C');

return0;

}

voidhanoi(intn,charone,chartwo,charthree)

{voidmove(charx,chary);

if(n==1)move(one,three);

else

{hanoi(n-1,two,one,three);

move(one,three);

hanoi(n-1,two,one,three);

}

}

voidmove(charx,chary)

{

cout<"<

}

(5)file1.cpp中的主函数:

#include

usingnamespacestd;

externintpower(inta,intm);

main()

{

inta,b,m;

b=5;

cout<<"entera:

"<

cin>>a;

cout<<"enterm:

"<

cin>>m;

cout<<"a乘以b="<

cout<<"a的m次方="<

return0;

}

file2.cpp中的power函数:

intpower(inta,intm)

{

inti,result=1;

for(i=0;i

result*=a;

returnresult;

}

 

四、调试结果

(1)x<1

(2)x=2.34

2.

3.

(1)a=8

(2)a=3

4.

图案一

图案二

5.

 

2.函数与预处理调试结果

(1)

(2)

(3)

(4)

(5)

 

五.实验心得

通过这次试验,我初步适应了C++程序的写法和调试方法。

仔细阅读题目,进行思考,参考书上的示例进行编写,测试程序,调试,完成报告,从这些步骤里,我收获了很多。

实验3的内容是c++程序的设计初步,题目主要是基础操作的类型,也设计一些基本的算法。

有示例程序,回忆自己写C语言程序时的一些经验,我顺利地写出了这些题。

实验4的内容是函数与预处理。

题目都涉及了函数的应用,也有题目涉及了递归的思想,比起上一课的难度提升了,是个更大的挑战。

通过这些程序,我初步掌握了处理包含多文件的程序的处理方法和函数的应用方法。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

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

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