C++编程题答案Word下载.docx

上传人:b****6 文档编号:16212354 上传时间:2022-11-21 格式:DOCX 页数:68 大小:33.71KB
下载 相关 举报
C++编程题答案Word下载.docx_第1页
第1页 / 共68页
C++编程题答案Word下载.docx_第2页
第2页 / 共68页
C++编程题答案Word下载.docx_第3页
第3页 / 共68页
C++编程题答案Word下载.docx_第4页
第4页 / 共68页
C++编程题答案Word下载.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

C++编程题答案Word下载.docx

《C++编程题答案Word下载.docx》由会员分享,可在线阅读,更多相关《C++编程题答案Word下载.docx(68页珍藏版)》请在冰豆网上搜索。

C++编程题答案Word下载.docx

Itisaright-angledtriangleandtheareais"

area<

.\n"

//输出判断结果及直角三角形面积

Itisnotaright-angledtriangle.\n"

//2-4-2编写程序,求解各种数据类型的存储长度并显示出来,在其中找出存储长度最大的和最小的两种数据类型并输出。

intlength[7];

intmax=0,min=0;

datatype\tmemoryused(bytes)"

length[0]=sizeof(shortint);

//获取短整型长度

\nshortint\t"

length[0]<

\t"

length[1]=sizeof(int);

//获取整型长度

\ninteger\t"

length[1];

length[2]=sizeof(long);

//获取长整型长度

\nlonginteger\t"

length[2];

length[3]=sizeof(char);

//获取字符型长度

\nchar\t"

<

length[3];

length[4]=sizeof(float);

//获取单浮点型长度

\nfloat\t"

length[4];

length[5]=sizeof(double);

//获取双浮点型长度

\ndouble\t"

length[5];

length[6]=sizeof(bool);

//获取布尔型长度

\nbool\t"

length[6]<

endl;

for(inti=0;

7;

i++)

if(length[i]>

length[max])//求取长度最大的类型的存取位置

max=i;

if(length[i]<

length[min])//求取长度最小的类型的存取位置

min=i;

Thelongestlengthisfrom"

switch(max)

case0:

cout<

shortint."

break;

case1:

int."

case2:

long."

case3:

char."

case4:

float."

case5:

double."

case6:

bool."

Theshortestlengthisfrom"

switch(min)

//2-4-3(3)编写程序输入一个华氏温度,将其转换为摄氏温度并输出。

floatC;

//变量C为摄氏温度

floatF;

//变量F为华氏温度

请输入华氏温度(float类型):

F;

//输入华氏温度

C=(F-32)*5/9;

//华氏温度转换为摄氏度

转换为摄氏温度为"

C<

//2-4-4编写程序输入一个十进制表示的正整数,将其转化为二进制表示并输出结果。

inta;

intb[20];

//数组存储转换后的二进制数

i=0;

请输入一个十进制的数字:

a;

//输入十进制数

while(a>

0)//转换过程

b[i]=a%2;

i++;

a=(int)(a/2);

i--;

转换的二进制数为:

"

while(i>

=0)//输出二进制结果

b[i];

//3-4-1编写程序,计算1到100中所有3的倍数的数的和。

intsum=0;

//sum变量为3的倍数的和

for(inti=1;

=100;

if(i%3==0)//判断i是否是3的倍数

sum+=i;

1到100中所有3的倍数的数的和为:

sum<

//编写程序,用户输入一些整数,该程序分别计算出所有奇数和所有偶数之和,并输出它们。

intsum_odd=0;

//变量为所有奇数的和

intsum_even=0;

//变量为所有偶数的和

intb;

//变量为输入的数字

intN;

//变量为数字个数

输入数字的总的个数为"

N;

请输入数字(数字以空格隔开)"

for(inti=0;

b;

if(b%2==0)//判断数字是否为偶数

sum_even+=b;

else

sum_odd+=b;

所有奇数的和为"

sum_odd<

所有偶数的和为"

sum_even<

//求解输入两个正整数的最大公约数和最小公倍数。

inta,b;

//输入的两个正整数

intmin,max;

//最小值和最大值

请输入两个正整数(数字以空格隔开)"

if(a>

=b)//找出两个数中的最大值和最小值

min=b;

max=a;

min=a;

max=b;

//最大公约数一定不大于两个数中的最小值

while(min>

0)

if((a%min==0)&

&

(b%min==0))

min--;

a<

和"

b<

的最大公约数为"

min<

//最小公倍数一定不小于两个数中的最大值

while((max%a!

=0)||(max%b!

=0))

max++;

的最小公倍数为"

max<

//编写程序计算10个正整数的平均值、方差以及标准方差。

math.h>

#definenumber10

inta[number];

//输入的10个正整数

intaverage,sum=0;

//平均值和总和

intvariance=0;

//方差

intmvariance;

//均方差

请输入"

number<

个整数:

number;

i++)//求总和

a[i];

sum+=a[i];

average=sum/number;

//求均值

average="

average<

=0)//求方差

variance+=abs(a[i]*a[i]-average*average);

mvariance=variance/number;

//求均方差

variance="

variance<

mvariance="

mvariance<

//输入4个字母,并反向显示这些字母。

chara[4];

//输入4个字符

请输入4个字符:

4;

反向输出4个字符为:

for(i=3;

i>

=0;

i--)

//输出所有的"

水仙花数"

//"

是指一个3位数,其各位数字的立方和等于该数本身。

intN,M;

inta[3];

//存储三位数的个十百位

水仙花数为:

for(N=100;

N<

=999;

N++)

M=N;

for(intj=0;

j<

3;

j++)//提取数字的个十百位

a[j]=M%10;

M/=10;

if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==N)

//求1!

+2!

+…+50!

intsum1=1;

//记录i!

的结果

intsum2=0;

累加的结果

for(inti=1;

=50;

for(intj=1;

=i;

j++)//计算i!

sum1*=j;

sum2+=sum1;

1!

="

sum2<

//编写程序求一元二次方程ax*x+bx+c=0的解。

floata,b,c;

//方程的系数

floats1,s2;

//解

floattemp;

Inputa,b,c:

if(a==0)

不是一元二次方程!

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

if(temp<

0)//无根的情况

无实根!

elseif(temp==0)//只有一个实根的情况

s1=-b/(2*a);

方程有一个实根,为"

s1<

else//两个实根的情况

s1=(-b+sqrt(temp))/(2*a);

s2=(-b-sqrt(temp))/(2*a);

方程有两个实根,为"

s2<

//3-4-9编写程序,用循环语句打印如下图案。

iomanip.h>

=7;

{

setw(abs(4-i)+1)<

@"

//显示第一个@

if((i==1)||(i==7))//第一行和最后一行仅显示一个@

continue;

for(intm=abs(4-i)+2;

m<

=6-abs(4-i);

m++)//显示中间的*

*"

//中间几行显示第二个@

//3-4-10编写程序,输入年月日信息,并输出这一天为这一年的第几天,注意闰年问题。

intyear,month,day;

intnum=0;

intlength;

Inputyear:

year;

Inputmonth:

month;

Inputday:

day;

if((i==1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12))

//大月31天

length=31;

elseif((i==4)||(i==6)||(i==9)||(i==11))//小月30天

length=30;

if(((year%100==0)&

(year%4==0))||((year%100!

=0)&

(year%4==0)))//闰年判断条件

length=29;

//闰年的二月29天

length=28;

//非闰年的二月28天

num+=length;

num+=day;

year<

年"

month<

月"

day<

日为这一年的第:

num<

天."

//3-4-11编写程序,由用户输入x值,计算函数值并输出y。

函数如下所示:

intx,y;

InputX(int):

x;

if(x<

0)//x<

0的情况

y=x;

elseif(x>

10)//x>

10的情况

y=4*x*x*x-x*x;

else//其余的情况

y=x*x;

函数结果y为:

y<

//3-4-12鸡兔同笼问题。

若鸡兔共有100只脚,利用循环计算鸡兔各几只。

intrabbit,chicken;

for(rabbit=100/4;

rabbit>

rabbit--)//兔子最多有25只,最少没有

chicken=(100-rabbit*4)/2;

兔子有"

rabbit<

只,鸡有"

chicken<

只"

//4-5-1编写一个函数,计算直角坐标系中点a(x0,y0)到点b(x1,y1)的距离。

floatlength(floatx0,floaty0,floatx1,floaty1)//求两点距离的子函数

{

returnsqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));

floatx0,x1,y0,y1;

Inputxandyofapoint:

x0>

y0;

Inputxandyofbpoint:

x1>

y1;

Thelengthfromatobis"

length(x0,y0,x1,y1)<

//4-5-2求a!

+b!

+c!

的值,其中求n!

要用一个函数实现,通过主函数输入a、b和c的值,并在主函数中输出计算的结果。

intfactorial(intn)//求两点距离的子函数

intsum=1;

=n;

sum*=i;

returnsum;

inta,b,c;

a!

factorial(a)+factorial(b)+factorial(c)<

//4-5-3编写一个函数。

该函数读入一个整数,并判断这个整数是否为一个回文数字。

例如4,44,434,4334,43534都是回文数字。

boolpalindrome(intn)//判断n是否为回文的子函数

inta[20];

intm=n;

inti=0;

inttemp,num;

while(m>

0)//将数字的各位反向放置在数组a中

a[i]=m%10;

m=m/10;

temp=i/2;

//需要比较的次数

num=--i;

//数字的最高位存储在a[num]中

temp;

j++)

if(a[j]!

=a[num-j])returnfalse;

//如果出现不相等的情况立即退出

returntrue;

//若比较的各个位置都相等,则为回文

intnumber;

Inputthenumber:

if(palindrome(number))

isapalindrome."

isnotapalindrome."

//4-5-4编写一个程序,为选修3、4和5门课程的学生计算平均分,其中求平均分要用重载函数实现

floataverage(floata,floatb,floatc)//求三门课程平均分子函数

return(a+b+c)/3;

floataverage(floata,floatb,floatc,floatd)//求四门课程平均分子函数

return(a+b+c+d)/4;

floataverage(floata,floatb,floatc,floatd,floate)//求五门课程平均分子函数

return(a+b+c+d+e)/5;

floats1,s2,s3,s4,s5;

Thetotalofstudent'

scoursesis"

if(number==3)

Inputthreescoreofstudent:

s1>

s2>

s3;

Theaverageis"

average(s1,s2,s3)<

elseif(number==4)

Inputfourscoreofstudent:

s3>

s4;

average(s1,s2,s3,s4)<

s4>

s5;

average(s1,s2,s3,s4,s5)<

//4-5-5用递归方法将一个整数n转换成字符串。

iostream>

string>

usingnamespacestd;

stringconvert(intn);

stringnumstring("

);

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

当前位置:首页 > 法律文书 > 起诉状

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

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