您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > VisualC++面向对象编程教程第2版(王育坚)清华大学出版社课后答案
2-45编写一个程序,输入三角形的三条边的边长,求三角形的面积。2-45#includeiostream.h#includemath.hintmain(){inta,b,c;ints,S;cinabc;s=(a+b+c)/2;S=powl(s*(s-a)*(s-b)*(s-c),0.5);if(S==0)cout此三边不能构成三角形!endl;else{cout面积:endl;coutSendl;}return0;}2-46从键盘输入一个大写字母,然后改用小写字母在屏幕输出。2-46#includeiostream.hintmain(){charch;inta;cout输入一个大写字母:endl;cinch;if(ch=65&&ch=91){ch=ch+32;//a=(int)ch;coutchendl;}elsecout该字母不是字母或不是字母大写!endl;return0;}2-47用户输入两个整数,编程输出稍大于第一个整数而又是第2个整数的倍数的数。计算公式是:valuel+value2-value1%value2.2-47#includeiostream.hintmain(){intvalue1,value2;intresult;cinvalue1value2;result=value1+value2-value1%value2;cout该整数为:resultendl;return0;}2-48华氏温度转换为摄氏温度的公式是:C=(F-32)*5/9.。编写一个程序,输入一个华氏温度,程序输出相应的摄氏温度。请将32和5/9用const型变量表示。2-48#includeiostream.hintmain(){constfloati=32.0;constfloatj=5.0/9.0;floatdegFahr;floatdegCel;cindegFahr;//for(degFahr=0;degFahr=300;degFahr+=10)//{degCel=j*(degFahr-i);cout华氏温度:degFahrendl;cout摄氏温度:degCelendl;//}return0;}2-49从键盘输入20个整数,检查100是否存在于这些整数中,若是的话,求出他是第几个被输入的。2-49#includeiostream.hintmain(){intArray[20];inti,count=0,c=0;for(i=0;i20;i++)cinArray[i];for(i=0;i20;i++){if(Array[i]==100&&count==0){cout100存在该数组中!endl;count++;}if(Array[i]!=100){c++;if(c==19)cout100不存在该数组中!endl;}}for(i=0;i20;i++){if(Array[i]==100)cout它是第i+1个被输入的!endl;}return0;}2-50从键盘输入一个NXN的整型数组,并将每一行的最大值显示输出。2-50#includeiostream.hintmain(){intArray[100][100]={0};intn,temp;cinn;for(inti=0;in;i++){for(intj=0;jn;j++)cinArray[i][j];for(intx=0;xn;x++)for(inty=x+1;yn;y++)if(Array[i][x]Array[i][y]){temp=Array[i][x];Array[i][x]=Array[i][y];Array[i][y]=temp;}}cout每一行的最大值:endl;for(i=0;in;i++)coutArray[i][0];coutendl;}2-51输入三个整数,采用指针方法将三个数按从大到小的顺序输出。2-51#includeiostream.h#includemath.hintmain(){intArray[3];int*pA=Array;int*a=Array;inti;inttemp;for(i=0;i3;i++)cinArray[i];for(i=0;i3;i++){a++;if(*pA*a){temp=*pA;*pA=*a;*a=temp;a++;pA++;}a=&Array[0];}for(i=0;i3;i++)coutArray[i];return0;}2-52采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然存放在原来的数组中,要求使用最少的辅助存储单元2-52#includeiostream.hintmain(){intn;cout输入数组的长度(小于100):endl;cinn;cout输入n个数:endl;intArray[100];int*pA=Array;inti;for(i=0;in;i++){cinArray[i];pA++;}for(i=0;in;i++){pA--;cout*pA;}return0;}2-53输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则在屏幕上输出“Unequal”。要求使用字符指针。2-53#includeiostream.hintmain(){char*pstr=Enterastring:;charstr1[100],str2[100];coutpstrendl;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)coutUnequalendl;elseif(len1==len2){inti=0;for(i=0;ilen1;i++)if((str1[i]==str2[i])&&ilen1)continue;if(i=len1-1)coutEqualendl;elsecoutUnequalendl;}return0;}2-54编程将一个整数转换成对应的数字串,例如将值1234转换为数字串“1234”。2-54#includeiostream.hintmain(){intnumber;intArray[100];inti,j;cinnumber;for(i=0;number!=0;i++){Array[i]=number%10;number=number/10;}j=i;for(i=j;i=0;i--)coutArray[i-1];coutendl;return0;}2-55编程求两个复数的和。2-55#includeiostream.hintmain(){floata[2],b[2],c[2];inti;for(i=0;i2;i++)cina[i];for(i=0;i2;i++)cinb[i];for(i=0;i2;i++)c[i]=a[i]+b[i];coutc[0]c[1]endl;return0;}2-56使用结构变量表示每个学生的信息:姓名、学号和三门课的成绩。从键盘输入10个学生的数据,然后输出每个学生的姓名和三门课的平均成绩。2-56#includestdio.hstructstudent{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;j3;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-572-58用枚举值MON、TUE、WED、THU、FRI、SAT和SUN表示一个星期中的7天。从键盘输入一个0~6之间的整数,根据输入的整数输出对应的英文缩写。2-582-59编写一个求解一元二次方程的根的程序,方程的系数由用户输入。2-59#includeiostream.h#includemath.hintmain(){inta,b,c;intR;floatp;floatx1,x2;cinabc;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仅且只有一个根x1endl;elsecout有两个不同的根x1x2endl;}elseif(R0)cout无根endl;return0;}2-60从键盘输入一个字符,判断输入的字符是m、a、n或其他字符。如果是m则输出“Goodmorning!”;如果是a则输出“Goodafternoon!”;如果是n则输出“Goodnight!”;如果是其他字符则输出“Ican‘tundersrand!”。2-602-61编程实现两个整数的加、减、乘、除四则运算,运算式形如“32+120”。2-612-62编写一个程序,利用swith语句将百分制的学生成绩转换为优、良、中、及格和不及格5分制成绩。2-622-63从键盘输入一个字符,判断输入的字符是数字、空格还是其他字符,并给出相应的提示信息。2-63#includeiostream.hintmain(){charch;cout请输入一个字符:;cin.get(ch);if(ch=='')cout这是一个空格!endl;elseif((ch='0')&&(ch='9'))cout这是一个数字!endl;elsecout这是一个其他字符!endl;return0;}2-64从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数。输入的字符序列以“#”作为结束符。2-64#includeiostream.hintmain(){charsymbol[100];inti,end,j=0,k=0;cinsymbol;for(i=0;i100;i++)if(symbol[i]=='#'){end=i;break;}for(i=0;iend;i++){if((symbol[i]='0')&&(symbol[i]='9'))j++;elsek++;}coutdigit:jendl;coutletter:kendl;return0;}2-65输入一个由若干单词组成的文本串,每个单词之间用一些空格分隔,统计此文本串单词的个数。2-65#includeiostream.hintmain(){charstr[1000];intcount=1;cin.get(str,1000);//while(!str[0])//{for(inti=0;str[i]!=0;i++)if(str[i]==''&&str[i+1]
本文标题:VisualC++面向对象编程教程第2版(王育坚)清华大学出版社课后答案
链接地址:https://www.777doc.com/doc-1657104 .html