第789章编程题答案.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第789章编程题答案

1.使用结构类型表示复数。设计程序输入两个复数,可以选择进行复数的+、-、×或÷运算,并输出结果。解答:#include<iostream>using namespace std; struct A{ double a, b;} ;A add(A a, A b) { A c; c.a = a.a + b.a; c.b = a.b + b.b; return c;}A minus(A a, A b){ A c; c.a= a.a - b.a; c.b = a.b- b.b; return c;}A mult(A a, A b){ A c; c.a = a.a * b.a - a.b * b.b; c.b = a.a * b.b + a.b * b.a; return c;}A division(A a, A b){ A c; c.a = (a.a * b.a + a.b *b.b ) /(b.a * b.a +b.b *b.b ) ; c.b = (-a.a * b.b + a.b * b.a)/(b.a * b.a +b.b *b.b ) ; return c;}void main(){A m={1,2};A n={3,4};A c1,c2,c3,c4;c1=add(m,n);cout<<c1.a<<"+"<<c1.b<<"i"<<endl;c2=minus(m,n);cout<<c2.a<<"+"<<c2.b<<"i"<<endl;c3=mult (m,n);cout<<c3.a<<"+"<<c3.b<<"i"<<endl;c4=division(m,n);cout<<c4.a<<"+"<<c4.b<<"i"<<endl;}2.把一个班的学生姓名和成绩存放到一个结构数组中,寻找和输出最高分者。解答:#include<iostream> #include<string> using namespace std; struct Stu{ string name; float score; };int main() { Stu list[50] ; int count,i; //学生数组,count代表班里的人数, cout<<"请输入班里的人数:"; cin>>count; for(i=0;i<count;i++) { cout<<"请输入第"<<i+1<<"位同学的姓名:\n"; cin>>list[i].name; cout<<"请输入第"<<i+1<<"位同学的成绩:\n"; cin>>list[i].score; } float max; string p; max=list[0].score; p=list[0].name; for(i=0;i<count;i++) { if(max<list[i].score) { max=list[i].score; p=list[i].name; } } cout<<"最高分数为"<<max<<"分\n"; cout<<"最高分数者为:"<<p<<endl;}3.使用结构表示X—Y平面直角坐标系上的点,程序顺序读入一个四边形的四个顶点坐标,判别由这四个顶点的连线构成的图形是否正方形、矩形或其它四边形。要求定义求两个点距离的函数使用结构参数。解答:#include<iostream>#include<math.h>using namespace std;struct point{ double x; double y; };double d( point p1, point p2 ){ return sqrt( ( p1.x-p2.x )*(p1.x-p2.x)+( p1.y-p2.y) *(p1.y-p2.y)); }int main(){ int i; point p[5]; for( i=1; i<=4; i++ ) { cout << "输入第" << i << "个顶点的横坐标和纵坐标: "; cin >> p[i].x >> p[i].y; }if( fabs( d( p[1],p[2] ) - d( p[3],p[4] ))==0 && fabs( d( p[1],p[4] ) - d( p[2],p[3] ))==0 && fabs( d( p[1],p[3] ) - d( p[2],p[4] ))==0){ if( fabs( d( p[1],p[2] ) - d( p[2],p[3] ))==0 ) { cout << "四个顶点构成的图形为正方形!" << endl; return 0; } else cout << "四个顶点构成

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档