南昌大学C++实验报告

南昌大学实验报告

课程名称:C++语言程序设计姓名:学号:班级:

实验类型:□ 验证 ■ 综合 ■ 设计□ 创新实验日期:实验成绩:

一、实验名称:第3章函数

二、实验要求:

1、设计一个程序,要求main函数有返回值

2、借鉴p67 例3-5的思想,将p66例3-3的程序修改

3、运用随机数设计一个3*3的三子棋游戏

4、满二叉树的中序遍历

5、体会习题3-2的程序实现

6、实现习题3-9

7、实现习题3-10

8、实现习题3-14

9、实现习题3-15

三、实验方法:函数模板的编写。

四、主要仪器设备及耗材:PC。

五、实验步骤: 1.编写程序; 2.调试程序;

六、实验数据及处理结果

1. 上机习题的程序代码如下:

#include

#include

#include

#include

#define queuesize 100

#define ERROR 0

#define OK 1

using namespace std;

void ex3_1()

{

}

double arctan(double x)

{

double e=0,g=x,t=x;

int n=1;

do{ 3.运行程序。

t=g/n; e=e+t;

g=-g*x*x;

n=n+2;

}while(fabs(t)>1e-15);

return e;

}

void ex3_2()

{

}

double a,b; double arctan(double x); a=16.0*arctan(1/5.0); b=4.0*arctan(1/239.0); coutvoid ex3_3()

{

int i,j,y=0,n=1;

char a[3][3]={{'0','O','O'},{'O','O','O'},{'O','O','O'}};

cout

while(n

{

srand(unsigned(time(0)));

i=rand()%3;

j=rand()%3; if (a[i][j]=='O') a[i][j]='#'; else continue; coutcout

}

cout

cin>>i>>j;

a[i][j]='*';

cout

for(i=0;i

{

for(j=0;j

coutcout

}

cout

n++;

if( a[0][0]==a[0][1]&&a[0][0]==a[0][2]&&a[0][0]=='#') {cout

else if(a[0][0]==a[1][0]&&a[0][0]==a[2][0]&&a[0][0]=='*') {cout

else if(a[0][0]==a[0][1]&&a[0][0]==a[0][2]&&a[0][0]=='*') {cout

else if(a[0][0]==a[1][1]&&a[0][0]==a[2][2]&&a[0][0]=='*') {cout

else if(a[0][1]==a[1][1]&&a[0][1]==a[2][1]&&a[0][1]=='*') {cout

else if(a[0][2]==a[1][2]&&a[0][2]==a[2][2]&&a[0][2]=='*') {cout

else if(a[2][0]==a[2][1]&&a[2][0]==a[2][2]&&a[2][0]=='*') {cout

else if(a[1][0]==a[1][1]&&a[1][0]==a[1][2]&&a[1][0]=='*') {cout

else if(a[0][2]==a[1][1]&&a[0][2]==a[2][0]&&a[0][2]=='*') {cout

} 人人人人人人人人

void ex3_4()

{

int k,n,i,p,t,j=0; int a[100]; int b[100]; for(i=0;i>k; n=(int)pow((double)2,(int)k)-1; cout>a[i]; cout

} cout

}

void ex3_5()

{

int intOne;

int &rSomeRef = intOne;

intOne = 5; cout

cout

}

bool ZS(int a)

{

for(int i=2;i

else return true;

}

int ex3_6()

{

int a;

puts("请输入一个数字:");

cin>>a;

if (ZS(a))

cout

} } cout

}

void ex3_5()

{

int intOne;

int &rSomeRef = intOne;

intOne = 5; cout

cout

cout

cout

}

bool ZS(int a)

{

for(int i=2;i

if((a)%i==0) return false;

else return true;

}

int ex3_6()

{

int a;

puts("请输入一个数字:");

cin>>a;

if (ZS(a))

cout

return ERROR;

}

int YS(int x,int y)

{

int k;

if(x

{

k=x;

x=y;

y=k;

}

if(x%y==0)

return abs(y);

else

return YS(y,x%y);

}

void ex3_7()

{

int x,y,z;

int i=0,p=1,r=1;

cout

cin>>x;

cout

cin>>y;

z=YS(x,y);

cout

cout

}

long fib(int n)

{

long f;

if(n

else if(n==1||n==2) f=1;

else f=fib(n-1)+fib(n-2);

return(f);

}

void ex3_8()

long fib(int n);

int n; long y; cout

cin>>n;

y=fib(n);

cout

}

long fac(int n,long x)

{

long f;

if(n

else if(n==1) f=x;

else f=((2*n-1)*x*fac(n-1,x)-(n-1)*fac(n-2,x))/n; return (f);

}

void ex3_9()

{

long fac(int n,long x); int n; long x; long y; cout>n>>x; y=fac(n,x); cout

}

void main()

{

int y=1;

while(y==1)

cout>choose; system("cls"); switch(choose) { case 1: ex3_1();break;

case 2: ex3_2();break;

case 3: ex3_3();break;

case 4: ex3_4();break;

case 5: ex3_5();break;

case 6: ex3_6();break;

case 7: ex3_7();break;

case 8: ex3_8();break;

case 9: ex3_9();break;

}

cout>y;

system("cls");

}

}

2. 运行结果

七、实验心得

本章实验难度不大,但是有的地方要用到随机数,需要上网查询理解,还有二叉树实验,因为已经有一段时间没有接触数据结构了,所以做起来有点生疏。还是要多看看学过的知识

八、参考资料:

C++语言程序设计. 清华大学出版社, 2004年6月第1版

南昌大学实验报告

课程名称:C++语言程序设计姓名:学号:班级:

实验类型:□ 验证 ■ 综合 ■ 设计□ 创新实验日期:实验成绩:

一、实验名称:第3章函数

二、实验要求:

1、设计一个程序,要求main函数有返回值

2、借鉴p67 例3-5的思想,将p66例3-3的程序修改

3、运用随机数设计一个3*3的三子棋游戏

4、满二叉树的中序遍历

5、体会习题3-2的程序实现

6、实现习题3-9

7、实现习题3-10

8、实现习题3-14

9、实现习题3-15

三、实验方法:函数模板的编写。

四、主要仪器设备及耗材:PC。

五、实验步骤: 1.编写程序; 2.调试程序;

六、实验数据及处理结果

1. 上机习题的程序代码如下:

#include

#include

#include

#include

#define queuesize 100

#define ERROR 0

#define OK 1

using namespace std;

void ex3_1()

{

}

double arctan(double x)

{

double e=0,g=x,t=x;

int n=1;

do{ 3.运行程序。

t=g/n; e=e+t;

g=-g*x*x;

n=n+2;

}while(fabs(t)>1e-15);

return e;

}

void ex3_2()

{

}

double a,b; double arctan(double x); a=16.0*arctan(1/5.0); b=4.0*arctan(1/239.0); coutvoid ex3_3()

{

int i,j,y=0,n=1;

char a[3][3]={{'0','O','O'},{'O','O','O'},{'O','O','O'}};

cout

while(n

{

srand(unsigned(time(0)));

i=rand()%3;

j=rand()%3; if (a[i][j]=='O') a[i][j]='#'; else continue; coutcout

}

cout

cin>>i>>j;

a[i][j]='*';

cout

for(i=0;i

{

for(j=0;j

coutcout

}

cout

n++;

if( a[0][0]==a[0][1]&&a[0][0]==a[0][2]&&a[0][0]=='#') {cout

else if(a[0][0]==a[1][0]&&a[0][0]==a[2][0]&&a[0][0]=='*') {cout

else if(a[0][0]==a[0][1]&&a[0][0]==a[0][2]&&a[0][0]=='*') {cout

else if(a[0][0]==a[1][1]&&a[0][0]==a[2][2]&&a[0][0]=='*') {cout

else if(a[0][1]==a[1][1]&&a[0][1]==a[2][1]&&a[0][1]=='*') {cout

else if(a[0][2]==a[1][2]&&a[0][2]==a[2][2]&&a[0][2]=='*') {cout

else if(a[2][0]==a[2][1]&&a[2][0]==a[2][2]&&a[2][0]=='*') {cout

else if(a[1][0]==a[1][1]&&a[1][0]==a[1][2]&&a[1][0]=='*') {cout

else if(a[0][2]==a[1][1]&&a[0][2]==a[2][0]&&a[0][2]=='*') {cout

} 人人人人人人人人

void ex3_4()

{

int k,n,i,p,t,j=0; int a[100]; int b[100]; for(i=0;i>k; n=(int)pow((double)2,(int)k)-1; cout>a[i]; cout

} cout

}

void ex3_5()

{

int intOne;

int &rSomeRef = intOne;

intOne = 5; cout

cout

}

bool ZS(int a)

{

for(int i=2;i

else return true;

}

int ex3_6()

{

int a;

puts("请输入一个数字:");

cin>>a;

if (ZS(a))

cout

} } cout

}

void ex3_5()

{

int intOne;

int &rSomeRef = intOne;

intOne = 5; cout

cout

cout

cout

}

bool ZS(int a)

{

for(int i=2;i

if((a)%i==0) return false;

else return true;

}

int ex3_6()

{

int a;

puts("请输入一个数字:");

cin>>a;

if (ZS(a))

cout

return ERROR;

}

int YS(int x,int y)

{

int k;

if(x

{

k=x;

x=y;

y=k;

}

if(x%y==0)

return abs(y);

else

return YS(y,x%y);

}

void ex3_7()

{

int x,y,z;

int i=0,p=1,r=1;

cout

cin>>x;

cout

cin>>y;

z=YS(x,y);

cout

cout

}

long fib(int n)

{

long f;

if(n

else if(n==1||n==2) f=1;

else f=fib(n-1)+fib(n-2);

return(f);

}

void ex3_8()

long fib(int n);

int n; long y; cout

cin>>n;

y=fib(n);

cout

}

long fac(int n,long x)

{

long f;

if(n

else if(n==1) f=x;

else f=((2*n-1)*x*fac(n-1,x)-(n-1)*fac(n-2,x))/n; return (f);

}

void ex3_9()

{

long fac(int n,long x); int n; long x; long y; cout>n>>x; y=fac(n,x); cout

}

void main()

{

int y=1;

while(y==1)

cout>choose; system("cls"); switch(choose) { case 1: ex3_1();break;

case 2: ex3_2();break;

case 3: ex3_3();break;

case 4: ex3_4();break;

case 5: ex3_5();break;

case 6: ex3_6();break;

case 7: ex3_7();break;

case 8: ex3_8();break;

case 9: ex3_9();break;

}

cout>y;

system("cls");

}

}

2. 运行结果

七、实验心得

本章实验难度不大,但是有的地方要用到随机数,需要上网查询理解,还有二叉树实验,因为已经有一段时间没有接触数据结构了,所以做起来有点生疏。还是要多看看学过的知识

八、参考资料:

C++语言程序设计. 清华大学出版社, 2004年6月第1版


相关文章

  • 中南大学c++实践报告
  • 中南大学 本科生课程设计(实践)任务书.设计报告 (<计算机程序设计基础>C++) 题 目 图书馆藏书基本信息管理软件设计 学生姓名 李泽洲 指导教师 朱从旭 老师 学 院 地球科学与物理信息学院 专业班级 地质工程1403 学 ...查看


  • 深圳大学模拟电路实验报告模板
  • 深 圳 大 学 实 验 报 告 实验课程名称:C++程序设计 实验项目名称:简单C++程序设计 实验序号: 学院:信息工程学院专业: 报告人:汪汀学号:[1**********]班级:03 同组人: 实验时间:2016年9月18日 一. 实 ...查看


  • vc++课程设计实验报告
  • VC++课程设计报告 一.设计时间 2010年12月 27日----12月31日 二.设计地点 三.设计目的 <VC++程序设计>是计算机科学与技术专业的必修专业基础课程,其实践性.应用性很强.实践教学环节是必不可少的一个重要环 ...查看


  • 词法分析器编译原理C++实现实验报告
  • 学 生 实 验 报 告 学 院: 软件与通信工程学院 课程名称: 编译原理 专业班级: 姓 名: 学 号: 学生实验报告 一.实验综述 1.实验目的及要求 使用任意语言实现词法分析器 2.实验仪器.设备或软件 Visual C++. 二.实 ...查看


  • 软件实习总结报告
  • ********** --约瑟夫环游戏 总结报告 学生姓名:高娃 学 号:11071202 专业班级:计算机11-2 指导教师:李晓旭 宫法明 2012年7月14日 专业实习报告 摘 要 游戏自人类出现以后便日渐完善.进入20世纪后,人类进 ...查看


  • 计算机专业开题报告
  • 计算机专业开题报告 1课题介绍 随着计算机技术的飞速发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域,而素质教育在学校不断的深化,学校对学生的实践能力也越来越重视,所以学校的实验室和实验课课时也越来越多.如何编排实验室实 ...查看


  • 中南大学c++课程设计报告
  • 中南大学 <高级程序设计实践(C++)> 课程设计报告 设计题目 教学设备管理系统 指导老师 设计者 专业班级 设计日期 一 课题的基本内容和要求 二 程序功能简介 三 主体内容: 1 设计分析 2 程序整体结构 3 部分模块的 ...查看


  • 计算机世界最具影响力的20人
  • 转自: 计算机世界最具影响力的20人 1.约翰•冯•诺依曼 (John Von Neuman, 1903- 1957) 被誉为"电子计算机之父".他对人类的最大贡献是对计算机科学.计算机技术和数值分析的开拓性工作,194 ...查看


  • C++程序设计实验5-8
  • 实验五 构造函数与析构函数的编程 一.实验目的 1.进一步加深对类和对象的理解. 2.掌握类的构造函数和析构函数的概念.意义和使用方法. 3.掌握重载构造函数的含义和使用. 4.编写一个较为复杂的类和对象的应用程序. 二.实验内容 1.设计 ...查看


热门内容