VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx

上传人:b****7 文档编号:8727646 上传时间:2023-02-01 格式:DOCX 页数:18 大小:19.02KB
下载 相关 举报
VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx_第1页
第1页 / 共18页
VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx_第2页
第2页 / 共18页
VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx_第3页
第3页 / 共18页
VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx_第4页
第4页 / 共18页
VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx

《VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx》由会员分享,可在线阅读,更多相关《VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx(18页珍藏版)》请在冰豆网上搜索。

VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编.docx

VisualC++面向对象编程教程第2版王育坚清华大学出版社课后答案之欧阳道创编

2-45编写一个程序,输入三角形的三条边的边长,求三角形的面积。

时间:

2021.03.06

创作:

欧阳道

2-45

#include

#include

intmain()

{

inta,b,c;

ints,S;

cin>>a>>b>>c;

s=(a+b+c)/2;

S=powl(s*(s-a)*(s-b)*(s-c),0.5);

if(S==0)

cout<<"此三边不能构成三角形!

"<

else

{

cout<<"面积:

"<

cout<

}

return0;

}

2-46从键盘输入一个大写字母,然后改用小写字母在屏幕输出。

2-46

#include

intmain()

{

charch;

inta;

cout<<"输入一个大写字母:

"<

cin>>ch;

if(ch>=65&&ch<=91)

{

ch=ch+32;

//a=(int)ch;

cout<

}

elsecout<<"该字母不是字母或不是字母大写!

"<

return0;

}

2-47用户输入两个整数,编程输出稍大于第一个整数而又是第2个整数的倍数的数。

计算公式是:

valuel+value2-value1%value2.

2-47

#include

intmain()

{

intvalue1,value2;

intresult;

cin>>value1>>value2;

result=value1+value2-value1%value2;

cout<<"该整数为:

"<

return0;

}

2-48华氏温度转换为摄氏温度的公式是:

C=(F-32)*5/9.。

编写一个程序,输入一个华氏温度,程序输出相应的摄氏温度。

请将32和5/9用const型变量表示。

2-48

#include

intmain()

{

constfloati=32.0;

constfloatj=5.0/9.0;

floatdegFahr;

floatdegCel;

cin>>degFahr;

//for(degFahr=0;degFahr<=300;degFahr+=10)

//{

degCel=j*(degFahr-i);

cout<<"华氏温度:

"<

cout<<"摄氏温度:

"<

//}

return0;

}

2-49从键盘输入20个整数,检查100是否存在于这些整数中,若是的话,求出他是第几个被输入的。

2-49

#include

intmain()

{

intArray[20];

inti,count=0,c=0;

for(i=0;i<20;i++)

cin>>Array[i];

for(i=0;i<20;i++)

{

if(Array[i]==100&&count==0)

{

cout<<"100存在该数组中!

"<

count++;

}

if(Array[i]!

=100)

{

c++;

if(c==19)

cout<<"100不存在该数组中!

"<

}

}

for(i=0;i<20;i++)

{

if(Array[i]==100)

cout<<"它是第"<

"<

}

return0;

}

2-50从键盘输入一个NXN的整型数组,并将每一行的最大值显示输出。

2-50

#include

intmain()

{

intArray[100][100]={0};

intn,temp;

cin>>n;

for(inti=0;i

{

for(intj=0;j

cin>>Array[i][j];

for(intx=0;x

for(inty=x+1;y

if(Array[i][x]

{

temp=Array[i][x];

Array[i][x]=Array[i][y];

Array[i][y]=temp;

}

}

cout<<"每一行的最大值:

"<

for(i=0;i

cout<

cout<

}

2-51输入三个整数,采用指针方法将三个数按从大到小的顺序输出。

2-51

#include

#include

intmain()

{

intArray[3];

int*pA=Array;

int*a=Array;

inti;

inttemp;

for(i=0;i<3;i++)

cin>>Array[i];

for(i=0;i<3;i++)

{

a++;

if(*pA<*a)

{

temp=*pA;

*pA=*a;

*a=temp;

a++;

pA++;

}

a=&Array[0];

}

for(i=0;i<3;i++)

cout<

return0;

}

2-52采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然存放在原来的数组中,要求使用最少的辅助存储单元

2-52

#include

intmain()

{

intn;

cout<<"输入数组的长度(小于100):

"<

cin>>n;

cout<<"输入"<

"<

intArray[100];

int*pA=Array;

inti;

for(i=0;i

{

cin>>Array[i];

pA++;

}

for(i=0;i

{

pA--;

cout<<*pA<<"";

}

return0;

}

2-53输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则在屏幕上输出“Unequal”。

要求使用字符指针。

2-53

#include

intmain()

{

char*pstr="Enterastring:

";

charstr1[100],str2[100];

cout<

cin.get(str1,100);

cin.get();

cin.get(str2,100);

intlen1=0,len2=0;

while(str1[len1]!

='\0')

len1++;

while(str2[len2]!

='\0')

len2++;

if(len1!

=len2)

cout<<"Unequal"<

elseif(len1==len2)

{

inti=0;

for(i=0;i

if((str1[i]==str2[i])&&i

continue;

if(i=len1-1)

cout<<"Equal"<

elsecout<<"Unequal"<

}

return0;

}

2-54编程将一个整数转换成对应的数字串,例如将值1234转换为数字串“1234”。

2-54

#include

intmain()

{

intnumber;

intArray[100];

inti,j;

cin>>number;

for(i=0;number!

=0;i++)

{

Array[i]=number%10;

number=number/10;

}

j=i;

for(i=j;i>=0;i--)

cout<

cout<

return0;

}

2-55编程求两个复数的和。

2-55

#include

intmain()

{

floata[2],b[2],c[2];

inti;

for(i=0;i<2;i++)

cin>>a[i];

for(i=0;i<2;i++)

cin>>b[i];

for(i=0;i<2;i++)

c[i]=a[i]+b[i];

cout<

return0;

}

2-56使用结构变量表示每个学生的信息:

姓名、学号和三门课的成绩。

从键盘输入10个学生的数据,然后输出每个学生的姓名和三门课的平均成绩。

2-56

#include

structstudent

{

charnum[10];

charname[20];

floatgrade[3];

floataverage;

};

intmain()

{

studentstu[10];

inti,j;

floatsum=0;

for(i=0;i<=9;i++)

{

printf("Enternum:

\n");

scanf("%s",&stu[i].num);

printf("Entername:

\n");

scanf("%s",&stu[i].name);

printf("Enterthreegrades:

\n");

for(j=0;j<3;j++)

{

scanf("%f",&stu[i].grade[j]);

sum+=stu[i].grade[j];

}stu[i].average=sum/3;

printf("%f%s\n",stu[i].average,stu[i].name);

}

return0;

}

2-57用结构数组建立并初始化一个工资表,然后输入一个人的姓名,查询其工资情况,并在屏幕上输出。

2-57

2-58用枚举值MON、TUE、WED、THU、FRI、SAT和SUN表示一个星期中的7天。

从键盘输入一个0~6之间的整数,根据输入的整数输出对应的英文缩写。

2-58

2-59编写一个求解一元二次方程的根的程序,方程的系数由用户输入。

2-59

#include

#include

intmain()

{

inta,b,c;

intR;

floatp;

floatx1,x2;

cin>>a>>b>>c;

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

if(R>=0)

{

p=sqrt(R);

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

x2=(-b-p)/(2*a);

if(x1==x2)

cout<<"仅且只有一个根"<

else

cout<<"有两个不同的根"<

}

elseif(R<0)cout<<"无根"<

return0;

}

2-60从键盘输入一个字符,判断输入的字符是m、a、n或其他字符。

如果是m则输出“Goodmorning!

”;如果是a则输出“Goodafternoon!

”;如果是n则输出“Goodnight!

”;如果是其他字符则输出“Ican‘tundersrand!

”。

2-60

2-61编程实现两个整数的加、减、乘、除四则运算,运算式形如“32+120”。

2-61

2-62编写一个程序,利用swith语句将百分制的学生成绩转换为优、良、中、及格和不及格5分制成绩。

2-62

2-63从键盘输入一个字符,判断输入的字符是数字、空格还是其他字符,并给出相应的提示信息。

2-63

#include

intmain()

{

charch;

cout<<"请输入一个字符:

";

cin.get(ch);

if(ch=='')

cout<<"这是一个空格!

"<

elseif((ch>='0')&&(ch<='9'))

cout<<"这是一个数字!

"<

else

cout<<"这是一个其他字符!

"<

return0;

}

2-64从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数。

输入的字符序列以“#”作为结束符。

2-64

#include

intmain()

{

charsymbol[100];

inti,end,j=0,k=0;

cin>>symbol;

for(i=0;i<100;i++)

if(symbol[i]=='#')

{

end=i;

break;

}

for(i=0;i

{

if((symbol[i]>='0')&&(symbol[i]<='9'))j++;

elsek++;

}

cout<<"digit:

"<

cout<<"letter:

"<

return0;

}

2-65输入一个由若干单词组成的文本串,每个单词之间用一些空格分隔,统计此文本串单词的个数。

2-65

#include

intmain()

{

charstr[1000];

intcount=1;

cin.get(str,1000);

//while(!

str[0])

//{

for(inti=0;str[i]!

=0;i++)

if(str[i]==''&&str[i+1]!

='')

count++;

//}

cout<<"thecountis:

"<

return0;

}

2-67编程求π值,使用如下公式:

π/4=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10-6为止。

2-67

(1)

#include

#include

intmain()

{

inti,n=1,j=1;

doubles=0;

for(i=0;(2*i+1)

{

/*cout<

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

cout<<2*i+1<

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

cout<

cout<<"******************";*/

s+=pow((2*i+1),-1)*n;

//j=2*i+1;

n=n*(-1);

}

cout<

cout<<4*s<

return0;

}

2-67

(2)

#include

#include

intmain()

{

floati=0;

doubles=0;

for(i=0;2*i+1

{

s+=pow(-1,i)*(1/(2*i+1));

}

cout<

return0;

}

2-68把100~150之间不能被3整除的数输出,要求一行输出10个数。

2-68

2-69编程输出一个九九乘法表。

2-69

#include

intmain()

{

chartable[9][9];

inti,j,X,Y;

for(i=0;i<9;i++)

{

for(j=0;j<9;j++)

{

X=i+1;

Y=j+1;

if(X>=Y)

cout<

}

cout<

}

return0;

}

2-70编程计算整型数各位数字之和,例如数2007各位数字之和为2+0+0+7=9.

2-70

#include

intmain()

{

intnum;

intsum=0,i;

cin>>num;

for(i=0;num!

=0;i++)

{

sum+=num%10;

num=num/10;

}

cout<<"sum="<

return0;

}

2-71输入n个整数,利用冒泡排序法将它们从小到大排列,并在屏幕上输出。

2-71

#include

intmain()

{

intn;

inti,j,temp;

intnum[100];

cin>>n;

for(i=0;i

cin>>num[i];

for(i=0;i

for(j=i+1;j

if(num[i]

{

temp=num[i];

num[i]=num[j];

num[j]=temp;

}

for(i=0;i

cout<

cout<

return0;

}

2-72编程求出从键盘输入的10个数之和,遇到负数时终止输入求和。

2-72

#include

intmain()

{

intArray[10];

intsum=0;

for(inti=0;i<10;i++)

{

cin>>Array[i];

if(Array[i]>0)

sum+=Array[i];

else

break;

}

cout<

return0;

}

2-73编程求出从键盘输入的10个数中所有正数之和,负数不参加求和。

2-73

#include

intmain()

{

intnum[10];

inti,sum=0;

for(i=0;i<=9;i++)

{

cin>>num[i];

if(num[i]>0)

sum+=num[i];

}

cout<<"sumis"<

return0;

}

时间:

2021.03.06

创作:

欧阳道

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

当前位置:首页 > 初中教育

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

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