实验三四报告.docx

上传人:b****8 文档编号:9901114 上传时间:2023-02-07 格式:DOCX 页数:15 大小:310.88KB
下载 相关 举报
实验三四报告.docx_第1页
第1页 / 共15页
实验三四报告.docx_第2页
第2页 / 共15页
实验三四报告.docx_第3页
第3页 / 共15页
实验三四报告.docx_第4页
第4页 / 共15页
实验三四报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验三四报告.docx

《实验三四报告.docx》由会员分享,可在线阅读,更多相关《实验三四报告.docx(15页珍藏版)》请在冰豆网上搜索。

实验三四报告.docx

实验三四报告

C++语言实验报告

实验名称:

分支程序设计

实验日期:

2011年3月25日星期五实验预习报告日期:

2011年3月25日星期五

一、实验目的

程控制语句用于实现基本程序结构,是程序设计的基础。

本实验要求掌握条件语句和开关语句的使用。

二、实验内容预习及准备

(1)分析和设计(编程思路,关键公式、步骤或算法)

(2)程序源码

实验3-1

//输入一个数,判断它的奇偶性后输出结果

#include

usingnamespacestd;

intmain()

{

intinput;

cout<<"whichnumberdoyouwanttotest:

\n";

cin>>input;

if(input%2)

cout<<"nember"<

elsecout<<"number"<

return0;

}

三、实验过程记录

输入

结果

 54

 nmber54iseven

 23

number23isold

 65

 number65isold

 0

 number0iseven

四、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?

实验3-2

编程求一元二次方程ax2+bx+c=0的根。

包括以下判断和结果,若输入a=0,给出提示;△=b2-4ac,若△>0,输出两个不等的实根;

若△=0,输出两个相等实根;若△<0,输出两个复数根

程序源码

#include

#include

usingnamespacestd;

intmain()

{

floata,b,c;

floatdelta,x1,x2;

cout<<"请输入a(a!

=0),b,c的值:

";

cin>>a>>b>>c;

delta=b*b-4*a*c;

if(delta==0)

{

cout<<"方程有两个相同的实根"<

cout<<"x1=x2="<<-b/2*a<

}

elseif(delta>0)

{

x1=(-b+sqrt(delta))/2*a;

x2=(-b-sqrt(delta))/2*a;

cout<<"方程有两个不同实根:

";

cout<<"x1="<

}

else

{

//delta<0

cout<<"方程无实根!

有两个不同的复数根:

"<

cout<<"x1="<

}

}

实验过程记录

实验过程

输入

结果

a=0b=0c=4

 

a=0b=2c=4

 

a=1b=2c=0

 

a=2b=5c=1

 

实验3-3

编写程序:

输入一门课程的成绩,若高于90分,输出“A grade”;若高于80分而低于90分,输出“Bgrade”;若高于70分而低于80分,输出“C grade”;若高于60分而低于70分,输出“D grade”;否则输出“Notpassed”

实验源码

If-else

#include

#include

usingnamespacestd;

voidmain()

{

floata;

cout<<"请输入分数:

";

cin>>a;

if(a>=90)

cout<<"Agrade"<

else

{

if(a>=80)

cout<<"Bgrade"<

else

{

if(a>=70)

cout<<"Cgrade"<

else

{

if(a>=60)

cout<<"Dgrade"<

else

{

cout<<"Notpassed"<

}}}}}

实验过程

用switch表达

C++源程序如下:

#include

usingnamespacestd;

intmain()

{

inta;

cout<<"请输入成绩:

"<

cin>>a;

switch(a/10){

case9:

cout<<"Agrade"<

break;

case8:

cout<<"Bgrade"<

break;

case7:

cout<<"Cgrade"<

break;

case6:

cout<<"Dgrade"<

break;

default:

cout<<"NOTPASSED"<

}

}

实验过程

思考if–else嵌套使用时的注意事项是什么?

当对于嵌套在if子句的情况,由于else子句能省略,因此存在else的嵌套问题,由此,if和else就进配对,按这个关系,用{}来保证逻辑配对关系的时候,一定要注意,两个语句相差{}时,逻辑关系却完全不同,所以一定要注意。

实验3-4

4、编写程序:

输入一个数,判断其是否是3或7的倍数,可分为4种情况输出

实验源码

#include

intmain()

{

inta;

cout<<"请输入一个数a=";

cin>>a;

if(a%3==0)

{

if(a%7==0)

cout<<"是3和7的倍数"<

elsecout<<"是3的倍数,不是7的倍数"<

}

elseif(a%7==0)

cout<<"是7的倍数,不是3的倍数"<

elsecout<<"既不是3的倍数,也不是5的倍数"<

return0;

}

实验过程

C++语言实验报告

实验名称:

循环结构的设计

实验日期:

2011年3月25日星期五实验预习报告日期:

2011年3月25日星期五

一、实验目的

1.掌握3种循环结构:

while,do—while,for的区别与联系,以及它们之间相互转换的方法,并能正确使用它们。

2.掌握与循环语句相关的break语句和continue语句的使用方法

二、实验内容预习及准备

(1)分析和设计(编程思路,关键公式、步骤或算法)

(2)程序源码

实验4-1

输入正整数n,计算n的阶乘。

#include

intmain(){

intn,i;

doubleresult=0;

cout<<"请输入正整数:

"<

cin>>n;

if(n<1){

cout<<"输入错误"<

return1;

}

result=1;

for(i=2;i<=n;i++)result*=i;

cout<

return0;}

实验过程

输入

结果

 -2

 输入错误

 1

 1

 5

 120

 10

 3.62881e+006

 20

 2.4329e+018

2)删除程序中//A处的赋值语句return1;重新以上述数据调试运行程序,结果是否正确,如果不正确,该如何修改?

正确

(3)删除程序中//B处的语句result=1;重新以上述数据调试运行程序,结果是否正确,如果不正确,该如何修改?

不正确,将double后的result=0改成result=1

(4)将程序中语句doubleresult=0;改为intresult=0;重新以上述数据调试运行程序,结果如何?

为什么?

阶乘超过2^32-1的数由程序运行的结果是0,因为int的精度范围不超过2^32-1

实验出现的问题

实验4-2

编程计算求π的近似值。

实验源码

#include

#include

voidmain()

{

longinti=0;

doublesum=0,term,pi;

do

{

i+=1;

term=1.0/(i*i);

sum+=term;

}while(term>1e-12);

pi=sqrt(sum*6);

cout<<"pi="<

}

实验过程

实验出现的问题

实验4-3

将输入的小写字母转换成大写字母。

实验源码

#include

usingnamespacestd;

intmain(){

charstr[100];

inti=0;

cout<<"Pleaseinputastring...\n";

cin.getline(str,100);

do{

if(str[i]<'a'||str[i]>'z')continue;

str[i]-=32;

}while(str[++i]!

='\0');

cout<<"\nTheresultstringis:

"<

return0;

}

实验过程

实验出现的问题

有的时候打错符号

实验4-4

设计一个程序,输入一个日期,要求算出这一天是本年的第几天

实验4-4

实验源码

#include

voidmain()

{

intday,month,year;

intsum,leap;

temp:

printf("\n请输入日期(年,月,日)\n");

scanf("%d,%d,%d",&year,&month,&day);

if((month>12||month<1)||((day>31)||(day<1)))

{

printf("输入月份或者天数出错!

\n");

gototemp;

}

else

{switch(month)

{

case1:

sum=0;break;

case2:

sum=31;break;

case3:

sum=59;break;

case4:

sum=90;break;

case5:

sum=120;break;

case6:

sum=151;break;

case7:

sum=181;break;

case8:

sum=212;break;

case9:

sum=243;break;

case10:

sum=273;break;

case11:

sum=304;break;

case12:

sum=334;break;

}

}

sum=sum+day;

if(year%400==0||(year%4==0&&year%100!

=0))

leap=1;

else

leap=0;

if(leap==1&&month>2)

sum++;

printf("这天是当年的第%d天。

\n",sum);

}

实验过程

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

当前位置:首页 > 高等教育 > 工学

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

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