C++ 实验三.docx

上传人:b****6 文档编号:7063366 上传时间:2023-01-16 格式:DOCX 页数:15 大小:772.20KB
下载 相关 举报
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++实验三

贵州大学实验报告

学院:

贵州大学人民武装学院专业:

电子信息科学与技术班级:

2012级

姓名

李华俊

学号

1220070711

实验组

实验时间

2012.10.19

指导教师

何老师

成绩

实验项目名称

C++程序设计初步

实验目的

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

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

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

实验要求

通过实验后能掌握C++语言数据类型,熟悉变量定义,以及对它们赋值的方法,会使用C++有关算术运算符,以及包含这些运算符的表达式,进一步熟悉C++程序的结构,进一步熟悉C++程序的编辑、编译、连接和运行的过程。

实验原理

在VisualC++6.0输入相应程序,运行程序,通过程序运行的结果可以得出相应结论。

实验仪器

安装了VisualC++6.0软件的电脑一台

实验步骤

要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

实验内容

要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

(1)有一函数:

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

#include

usingnamespacestd;

intmain()

{intx,y;

cout<<"enterx:

";

cin>>x;

if(x<1)

{y=x;

cout<<"x="<

}

elseif(x<10)//1=

{y=2*x-1;

cout<<"x="<

}

else//x>=10

{y=3*x-11;

cout<<"x="<

}

cout<

return0;

}

运行结果如下:

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

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

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

6,itsfactorsare1,2,3

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

第一种方法:

#include

usingnamespacestd;

intmain()

{constintm=1000;

intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

inti,a,n,s;

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

{n=0;

s=a;

for(i=1;i

if(a%i==0)

{n++;

s=s-i;

switch(n)

{case1:

k1=i;break;

case2:

k2=i;break;

case3:

k3=i;break;

case4:

k4=i;break;

case5:

k5=i;break;

case6:

k6=i;break;

case7:

k7=i;break;

case8:

k8=i;break;

case9:

k9=i;break;

case10:

k10=i;break;

}

}

if(s==0)

{cout<

cout<<"itsfactorsare:

";

if(n>1)cout<

if(n>2)cout<<","<

if(n>3)cout<<","<

if(n>4)cout<<","<

if(n>5)cout<<","<

if(n>6)cout<<","<

if(n>7)cout<<","<

if(n>8)cout<<","<

if(n>9)cout<<","<

cout<

}

}

return0;

}

运行结果:

第二种方式

#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)用迭代法求x=√a。

求平方根迭代公式为

Xn+1=1/2[Xn+a/Xn]

要求前后两次求出的x的差的绝对值小于10—5。

在运行时输入不同的数值赋给变量a,分析所得结果是否正确。

如果输入的值为一负数,在运行时会出现什么情况?

修改程序使之能处理任何的a值。

#include

#include

usingnamespacestd;

intmain()

{floata,x0,x1;

cout<<"enterapositivenumber:

";

cin>>a;

x0=a/2;

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

do

{x0=x1;

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

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

cout<<"Thesquarerootof"<

return0;

}

运行结果:

②负数无法运行,修改程序后应改为:

#include

#include

usingnamespacestd;

intmain()

{floata,x0,x1;

cout<<"enterapositivenumber:

";

cin>>a;

x0=a/2;

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

if(a>=0)

{do

{x0=x1;

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

}

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

cout<<"Thesquarerootof"<

}

else

{cout<<"adoes'thavethesquareroot!

"<

}

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()

{

cout<<"*"<

cout<<"***"<

cout<<"*****"<

cout<<"*******"<

cout<<"*****"<

cout<<"***"<

cout<<"*"<

return0;

}

运行结果:

(5)输入以下程序:

运行结果:

实验数据

实验总结

(1)注意if前要加else,否则就犯了如下的错误:

在运行x<1后依然往后面运行。

输出的结果错误。

(2)比较试验

(2)中两种不同的编程方法。

程序二明显简洁易于了解。

(3)试验(3)中修改后的程序依旧有问题。

负数无法运行出结果。

需要再仔细的思考。

(4)试验(4)中我只运用了机械的做法。

其中修改如下更加适合程序的变动性。

5)注意程序编写的灵活性。

(6)实验三编程的延伸:

通过这些我们要更加细心,专心和对C++的运行平台结合,最后注重学习方法。

指导教师意见

 

签名:

年月日

注:

各学院可根据教学需要对以上栏木进行增减。

表格内容可根据内容扩充。

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

当前位置:首页 > PPT模板 > 其它模板

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

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