C++程序设计 上机实践答案文档格式.docx

上传人:b****4 文档编号:7191648 上传时间:2023-05-08 格式:DOCX 页数:88 大小:41.76KB
下载 相关 举报
C++程序设计 上机实践答案文档格式.docx_第1页
第1页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第2页
第2页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第3页
第3页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第4页
第4页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第5页
第5页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第6页
第6页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第7页
第7页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第8页
第8页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第9页
第9页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第10页
第10页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第11页
第11页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第12页
第12页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第13页
第13页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第14页
第14页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第15页
第15页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第16页
第16页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第17页
第17页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第18页
第18页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第19页
第19页 / 共88页
C++程序设计 上机实践答案文档格式.docx_第20页
第20页 / 共88页
亲,该文档总共88页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++程序设计 上机实践答案文档格式.docx

《C++程序设计 上机实践答案文档格式.docx》由会员分享,可在线阅读,更多相关《C++程序设计 上机实践答案文档格式.docx(88页珍藏版)》请在冰点文库上搜索。

C++程序设计 上机实践答案文档格式.docx

s=a+b+c;

s=s/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

area<

实验二

{floata,b,c;

//定义变量,存放三角形的三边数据

cout<

inputabc\n"

//输入提示信息

cin>

//从键盘依次输入三边的值

if((a+b<

c)||(a+c<

b)||(b+c<

a))//判断这三边是否能构成三角形

cout<

NotTriangle\n"

//不满足三角形三边条件,输出否定信息

else

Triangle\n"

//满足三边构成条件,输出确认信息

{intyear;

//定义变量,存放将输入的年份

Inputyear:

//输出提示信息

year;

//输入欲判断的年份

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

&

year%100!

=0)//判断该年份是否为闰年的条件

year<

isaleapyear"

//条件为真,说明输入的年份为闰年,输出确认信息

else

isn'

taleapyear"

//否则,输出否定信息

floata1,a2;

//定义两个操作数

charoper;

//定义运算符

floatresult;

//定义变量,存放结果

intflag=0;

//?

请输入简单的运算式:

\n"

a1>

oper>

a2;

//从键盘键入运算式,如5+3<

CR>

4.5*7<

switch(oper)//利用开关语句结构判断进行何种运算

{

case'

+'

:

//加法

result=a1+a2;

break;

-'

//减法

result=a1-a2;

*'

result=a1*a2;

default:

输入错误的运算符!

flag=1;

}

if(flag==0)

a1<

oper<

a2<

="

result<

//输出结果

doublea,b,c;

doublex1,x2,disc;

请输入方程的系数abc:

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

if(fabs(disc)<

1e-5)

x1=(-b)/2/a;

方程有两个相等的实根:

x="

x1<

elseif(disc<

0)

方程无实根!

else

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

x2=(-b-sqrt(disc))/2/a;

方程有两个不同的实根:

x1="

\t"

x2="

x2<

\\

/'

if(a2==0)

{

cout<

除数不能为0!

flag=1;

break;

}

result=a1/a2;

实验三

intx,y;

//定义变量,x代表鸡的数目,y代表兔子的数目

for(x=1;

x<

30;

x++)//鸡的数目从1~30皆有可能,所以程序将所有可能的解循环验证一遍

for(y=1;

y<

y++)//同样兔子的数目从1~30皆有可能,所以程序将所有可能的解循环验证一遍

if(2*x+4*y==90&

x+y==30)//所有可能的解中将满足给定条件的解输出

鸡有:

'

\t'

兔有:

{inta,a1,a2;

//定义变量,a代表个位,a1代表十位,a2代表百位

intb;

//b为由a2,a1,a所组成的百位数

for(a2=1;

=9;

a2++)//百位的位值从1~9皆有可能,所以程序将所有可能的解循环验证一遍

for(a1=0;

a1++)//同样十位的位值从0~9皆有可能,所以程序将所有可能的解循环验证一遍

for(a=0;

a<

a++)

{b=a2*100+a1*10+a;

if(a*a*a+a1*a1*a1+a2*a2*a2==b)//所有可能的解中将满足给定条件的解输出

cout<

b<

inta0,a1,a2;

//定义变量,a0代表个位,a1代表十位,a2代表百位

//b为由a2,a1,a0所组成的百位数

for(b=100;

=999;

b++)//将数字b从100到999循环,并将每个数拆开,看看是否符合水仙花数的条件

a2=b/100;

//剥出数字b的百位数

a1=b/10%10;

//剥出数字b的十位数

a0=b%10;

//剥出数字b的个位数

if(a0*a0*a0+a1*a1*a1+a2*a2*a2==b)//判断是否满足水仙花数的条件

//满足条件,输出这个数

intman,woman,children;

//定义变量,存放结果(男人、女人、小孩的个数)

for(man=1;

man<

man++)//男人从1人到9人循环,每种情况下计算满足条件的女人和小孩的人数

for(woman=1;

woman<

=18;

woman++)//在男人人数确定的情况下,女人从1人到18人循环,每种情况下计算满足条件的小孩人数

{

children=36-man-woman;

//男人女人人数确定后,小孩的人数就可以根据条件求出

if((man+woman+children==man*4+woman*2+children/2)&

(children%2==0))

//看看每种条件下男人、女人、小孩的人数及搬的砖是否满足给定的条件,因为小孩是每两人

//搬一块砖,所以小孩人数必须是偶数

man="

woman="

children="

children<

//输出满足if条件的结果,即男人、女人、小孩的人数

}

inti,j,k,n,t=0;

//定义n为从1到599循环的数字,i,j,k分别为n的百位、十位、个位数字

//t为控制输出格式的计数变量

for(n=1;

n<

=599;

n++)//使n从1到599循环,将满足条件的n摘出来

i=n/100;

//剥出n的百位数

j=n/10%10;

//剥出n的十位数

k=n%10;

//剥出n的个位数

if(n%3==0&

(i==5||j==5||k==5))//当数字n满足给定的条件是

//输出n的值

t++;

if(t%5==0)//控制输出格式,每5个为一行,即输出5个数后输出回车

\n'

实验四

inta,b;

intt,x;

请输入两个正整数:

x=a*b;

if(a<

b)

{t=a;

a=b;

b=t;

while(t=a%b)

a=b;

b=t;

最大公约数:

最小公倍数:

x/b<

{inta,b,c;

//定义存放输入的三个整数的变量空间

Inputthreenumber:

//提示信息

//从键盘输入三个整数

for(inti=a;

i>

=1;

i--)//假设最大公约数为i,使i从a(或b或c)到1逐次递减循环

if(a%i==0&

b%i==0&

c%i==0)//当i满足公约数的条件时(同时能被a,b,c整除)时,退出循环,即这时的i即为最大公约数

i<

//输出结果

inta;

请输入一个正整数:

a;

for(inti=2;

a/2;

i++)

if(a%i==0)

if(i>

=a/2)

是素数\n"

不是素数\n"

inta,b,c;

请输入三个整数:

=a*b*c;

if(i%a==0&

i%b==0&

i%c==0)

最小公倍数为:

for(inti=100;

=200;

i++)//将i从100到200依次循环,以求出所有满足素数条件的i

{

for(intj=2;

j<

i/2;

j++)//对每一个i,判断i是否为素数,即让i依次被2,3,...,i/2除,看看是否有余数

if(i%j==0)//若i能被上述其中一个数整除,即表示i不是素数,后面的数就不必除了,直接退出循环

if(j>

=i/2)//出了循环后,要判断i是中途退出的(不是素数)还是循环到i/2后再退出的(是素数)

//如果除数大于等于i/2,即表明i是循环完退出的,是素数,输出结果

ints;

for(inti=1;

1000;

a=i;

s=0;

for(intj=1;

i;

j++)

if(a%j==0)

s=s+j;

if(a==s)

实验五

intt=2;

ints=0;

=7;

s=s+t;

t=t*10+2;

2+22+222+...+2222222="

{floaty=1,t=1;

//t为通项,初值为1,即1!

,y为结果,初值为1

intn;

Inputn:

n;

//输入欲求的项数

for(inti=2;

=n;

{t=t*i;

//根据前一项求后一项

y=y+t;

//通项累加和

1!

+2!

+3!

+....+"

!

floatx,y1,y2;

请输入x的值:

x;

y2=x;

do

y1=y2;

y2=2*y1/3+x/y1/y1/3;

}while(fabs(y1-y2)>

1e-5);

y="

y2<

floatx,y,t;

//t为通项,x为未知数

intn;

//n为通项个数,必须是整数

Inputnx:

//输出提示信息

n>

//从键盘输入数据102.5

y=x;

//结果的初始值,因为循环从第2项开始,所以第1项要先赋给结果y

t=x;

//通项的初始值

i++)//假设第1项已求出(初始值),从第2项开始计算

t=-t*x*x/((2*i-1)*(2*i-2));

//首先计算通项,计算方法是用前1项的值推算后1项的值

//即求出前后两项相除的结果,这个结果是它们相差的倍数,然后前1项的值乘以这个倍数即为后1项的值

y=y+t;

//将当前的通项值累加起来

实验六

floatfun(floatx)//函数fun求形参x的函数值,并将结果返回

floaty;

//定义x的函数值

y=2*x*x+3*x+5;

//计算函数值

returny;

//将结果返回

floaty1,y2;

//定义x为1和1.2时的函数值

y1=fun(1.0);

//将1.0作为实参调用fun函数,即赋给形参x,函数值即为所求的结果

y2=fun(1.2);

//将1.2作为实参调用fun函数,即赋给形参x,函数值即为所求的结果

y1="

y1<

y2="

floatf(floatx)//求形参x的多项式的值

returnx*x+3*x-4;

floatf1(floatx)//求形参x的多项式的导数值

return2*x+3;

floatx1,x0;

//定义存放新旧迭代值的变量

x1=0;

//迭代变量赋初值

x0=x1;

//迭代循环,将新的迭代值变成旧的迭代值,再去求新的迭代值

x1=x0-f(x0)/f1(x0);

//用旧的迭代值求新的迭代值

}while(fabs(x1-x0)>

//不满足结束条件,一直迭代循环

x="

floatf(floatx)//根据形参x求函数f(x)=x*x+3*x-4的值

{returnx*x+3*x-4;

floatx1,x2,x0;

do//判断输入的初值是否满足要求

{cout<

请输入初值x1和x2:

x1>

x2;

//输入初值

}while((f(x1)*f(x2))>

0);

//当解不在初值范围之内时,重新循环输入初值

{x0=(x1+x2)/2;

//根据初值求方程的新的根x0

if(f(x0)*f(x1)>

0)//实际的根在x2和x0之间

x1=x0;

//将x0作为新的x1

else//实际的根在x1和x0之间

x2=x0;

//将x0作为新的x2

}while(fabs(f(x0))>

//判断x0是否是满足方程的解的精度

x0="

x0<

//输出x0

{x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

floatff(floatx)

if(fabs(f(x))<

y=x;

y=ff(x-f(x)/f1(x));

floatx1;

ff(x1)<

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2