c实验答案Word文件下载.docx

上传人:b****7 文档编号:22689953 上传时间:2023-02-05 格式:DOCX 页数:103 大小:176.26KB
下载 相关 举报
c实验答案Word文件下载.docx_第1页
第1页 / 共103页
c实验答案Word文件下载.docx_第2页
第2页 / 共103页
c实验答案Word文件下载.docx_第3页
第3页 / 共103页
c实验答案Word文件下载.docx_第4页
第4页 / 共103页
c实验答案Word文件下载.docx_第5页
第5页 / 共103页
点击查看更多>>
下载资源
资源描述

c实验答案Word文件下载.docx

《c实验答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《c实验答案Word文件下载.docx(103页珍藏版)》请在冰豆网上搜索。

c实验答案Word文件下载.docx

下面的程序对用户输入的口令进行判断,输出不同的结果。

{

intpass;

”\npleaseinputyoupassword:

”;

cin>

>

pass;

if(pass==12345)cout<

”welcomeyou.”;

elsecout<

”yourpasswordisnotright.”;

第三步:

根据题目要求编写下面的代码进行调试。

inlineintf(intx)

{

return2*x*x+4*x+5;

f(5)<

endl;

第四步:

inlinedoublef(doublex)

voidmain()

intx=5;

doubley=5.2;

f(x)<

f(y)<

第五步:

在主函数内外同时使用sum做计数器,并在主函数中同时使用。

inta[]={1,2,3,4,,5,6,7,8,9,10};

intsum;

inti;

intsum=0;

for(i=0;

i<

10;

i++)

{if(a[i]%2!

=0)sum=sum+a[i];

∷sum=∷sum+a[i];

}

”sumofallis:

”<

∷sum;

”sumofoddis:

sum;

第六步;

根据题目要求编写代码如下。

#include<

double*r;

r=newdouble;

*r;

”areais:

3.14*(*r)*(*r);

deleter;

实验二c++简单程序设计练习

1.掌握if语句的用法。

2.掌握switch语句的用法。

3.掌握循环和多重循环的用法。

4.掌握递归函数的用法。

5.掌握简单的指针操作方式。

6.掌握c++内存的动态分配与释放方法。

三、实验内容

根据输入的百分制按五分制的成绩输出。

百分制与五分制之间的关系见下表。

分别使用if分支结构和switch结构编写程序。

百分制

五分制

90~100

5

80~89

4

60~79

3

0~59

2

编程求3~100之间的所有素数。

编写程序列出婓波那挈(fibonacci)数列的前20项。

分别用迭代和数组的方法编程。

输入100个整数,从小到大排列并输出。

使用递归方法解决背包问题:

设有一个背包可以放入的物品数量为s,现有n件物品,重量分别为w1,w2,…,wn,问能否从这n件物品中选择若干件放入此背包,使得放入的重量之和正好为s。

如果存在一种符合上述要求的选择,称此问题有解,否则问题无解。

读入9个双精度的数,把他们存放在一个存储块里,然后求出它们的积。

使用动态分配和指针操作。

#include<

intscore;

chargrade;

”pleaseinputscore:

end;

score;

if(score>

=0&

&

score<

=100)

89)grade=’5’;

elseif(score>

79)grade=’4’;

59)grade=’3’;

elsegrade=’2’;

”gradeis”<

grade<

else

”dataerror\007\n”;

使用switch结构解决成绩问题转换问题。

intscore,s,sun;

(score);

ifscore)

{

s=score/10;

switch(s);

case0;

case1;

case2;

case3;

case4;

case5;

grade=’2’;

break;

case6;

case7;

grade=’3’;

case8;

grade=’4’;

case9;

case10;

grade=’5’;

cout<

else

使用双重循环解决素数问题。

#include<

inti,j;

for(i=3;

=100;

for(j=2;

j<

i-1;

j++)

if(i==j)

””;

”\n”;

第四步:

使用迭代方法解决裴波那契数列问题。

inta,b,j,f;

a=1;

b=1;

a<

””<

b<

for(j=3;

=20;

{

f=a+b;

a=b;

b=f;

f<

if(j%5==0)cout<

//每输出5个换行

}

第五步:

使用数组方法解决裴波那契数列问题。

inti,fib[20]={1,1};

//初始化

for(i=2;

20;

fib[i]=fib[i-1]+fib[i-2];

for(i=1;

i++);

fib[i-1]<

if(i%5==0)cout<

第六步:

使用选择法解释排序问题。

inti,j,data[120],temp;

intmin_a;

”\npleaseinput”<

size<

”int:

”;

for(i=0;

=size;

data[i];

size;

min_a=i;

for(j=i;

if(ata[j]<

data[min_a])

min_a=j;

data[min_a]=data[i];

data[i]=temp;

”\naftersorted:

data[i]<

第七步:

使用递归方法解决背包问题。

intf;

if(s==0)f=1;

elseif((s<

0)||((s>

0)&

(n<

!

)))f=0;

elseif(knap(s-w[n],n-1)==1){cout<

”\nw[“<

n<

”]=”<

w[n];

f=1;

elsef=knap(s,n-1);

returnf;

i=knap(29,8);

if(i==0)

”nosolution\n”;

//背包问题无解

第八步:

使用动态分配和指针操作求9个double数的乘积。

constsize=9;

double*init()//返回指针值的函数

returnnewdouble(size);

//分配空间将首地址返回

voidreadin(double*a)//从a指向的存储单元开始读入数据

”\nplealseenter”<

”value:

*(a+i);

//读入数据到a+i指向的存储单元

voidproduct(double*arr,intsize,double*resule)

//计算从arr指向的存储单元开始的

//连续size个存储单元的乘积

for(size--,*result=*(arr+size);

--size>

=0;

*result=*(arr+size));

//乘积的结果放入result指向的存储单元

double*x,res,*init();

if((x=init())==null)

return;

readin(x);

product(x,size,&

res);

”theproductis:

res<

deletex;

实验三类与对象

(一)

验证性实验、设计性实验4学时

二、实验目的与要求

1、掌握类、类的数据成员、类的成员函数的定义方式

2、理解类成员的访问控制方式

3、掌握对象的定义和操作对象的方法

4、理解构造函数和析构函数的定义与执行过程

5、掌握重载构造函数的方法

6、了解拷贝构造函数的方法

三、总的设计思想,及环境语言、工具等

通过设计一个time类和一个stock类达到实验目的,使用visualc++或turboc3.0集成开发环境

四、实验内容:

1.声明一个时间类,时间类中有3个私有数据成员(hour,minute,second)和两个公有成员函数(settime和print_time).settime根据传递的3个参数为对象设置时间;

print_time负责将对象表示的时间显示输出。

在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间。

2.使用构造函数代替上面的settime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。

3.重载时间类的构造函数(不带参数)使小时,分,秒均为0。

4.在时间类的析构函数中输出“goodbye!

5.定义拷贝构造函数并调用。

五、主要实验步骤:

1.#include<

classtime

public:

voidsettime(intc,intm,ints)

clock=c;

minute=m;

second=s;

voidprint_time()

cout<

clock<

"

:

minute<

second<

private:

intclock,minute,second;

};

timetime1;

time1.settime(9,20,30);

time1.print_time();

2.

#include<

time(intc,intm,ints)

timetime1(10,40,50);

3.#include<

time()

clock=0;

minute=0;

second=0;

timetime2(9,20,30);

time2.print_time();

4.#include<

print_time()

~time()

goodbye"

5.#include<

time(consttime&

p)

clock=p.clock;

minute=p.minute;

second=p.second;

timetime3(9,20,30);

timetime4(time3);

time3.print_time();

time4.print_time();

实验四类与对象

(二)

1.掌握对象数组的定义与使用方法。

2.理解对象指针的概念,学会用指针引用对象。

3.了解this指针的工作方式。

4.掌握静态数据成员和静态成员函数的基本使用方法。

5.理解友元与友元函数的作用,掌握其使用方法。

使用实验三中的股票类stock,定义一个对象数组存放连续5个交易日的股票信息。

编写一个主函数,计算两个stock对象(前后两日)的当日收盘价,计算当日涨幅。

用指针引用对象数组中的两个对象。

在主函数中调用该函数计算从第2个交易日开始每天的当日涨幅。

在stock类中定义一个静态数据成员,记录当前stock对象的数量。

设计一个成员函数assign-stock为对象赋值,其中的形式参数是对另一个stock对象的引用,使用this指针避免对自己的赋值,在主函数中显示用assign-stock赋值的对象。

定义一个友元函数计算stock对象的当日开盘价是否高于当日开盘价。

若是,返回真;

否则,返回假。

定义类stock,计算两个stock对象(前后当日)的当日收盘价并计算当日涨幅。

#include“iostream.h”

constn=5;

classstock

stock(){};

stock(intn,floatmi,floatb,floate);

voidset_stock(intn,floatma,floatmi,floatb,floate);

voidset_stock();

floatget-end();

voidshow_stock();

intnumber;

floatmax,min,begin,end;

);

stock:

stock(intn,floatma,floatmi,floatb,floate)

number=n;

max=ma;

min=mi;

begin=b;

end=e;

voidstock:

set_stock(intn,floatma,floatmi,floatb,floate)

end=e;

floatstock:

get_end()

returnend;

show_stock()

number<

”\t”;

max<

min<

””\t”;

begin<

end<

end1;

set_stock()

”number:

number;

”max:

max;

”min:

min;

”begin:

begin;

”end:

stocksl[100];

stock*p;

for(i=0,p=s1;

i<

n;

i++,p++)

p->

set_stock();

show_stock();

for(i=1,p=s1+1;

”\n”<

\

(p->

get_end()-(p-1)->

get_end())/(p-1)->

get_end()*100<

”%”;

添加静态数据成员。

constn=2;

public:

stock(){}

stock(intn,floatma,floatmi,floatb,floate);

voidset_stock(intn,floatma,floatmi,floatb,floate);

floatget_end();

voidshow_stock();

intget_n_count();

private:

staticintn_count;

intnumber;

floatmax,min,begin,end;

intstock:

n_count=0;

stock(intn,floatma,floatmi,floatb,floate)

n_count++;

numb

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

当前位置:首页 > 工程科技 > 电力水利

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

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