第五章习题答案. 联系客服

发布时间 : 星期三 文章第五章习题答案.更新完毕开始阅读4dc8987cbc64783e0912a21614791711cc7979ee

写程序顺序读入一个四边形的4个顶点坐标,判别由这个顶点的连线构成的图形是否为正方形、矩形或其他四边形。要求:定义求两个点距离的函数使用结构参数。 【解答】

#include #include using namespace std; struct point {

double x; double y; };

double d( point p1, point p2 ) { return

sqrt( pow( p1.x-p2.x,2 )+pow( p1.y-p2.y,2 ) );

} int main() {

int i; point p[5]; for( i=1; i<=4; i++ )

{ cout << \输入第\个顶点的横

坐标和纵坐标: \

cin >> p[i].x >> p[i].y;

} if(

fabs(

d( fabs( fabs(

d(

p[1],p[2] d( d(

p[1],p[4] p[1],p[3] p[1],p[2]

) ) ) )

- - - -

d( p[3],p[4] ))<=1e-8

&&

d( p[2],p[3] ))<=1e-8

&&

d( p[2],p[4] ))<=1e-8)

if(

d( p[2],p[3] ))<1e-8 )

cout << \四个顶点构成的图形为正

方形!\

else cout << \四个顶点构成的图形为矩

形!\

else cout << \四个顶点构成的图形为其它

四边形!\

}

8.建立一个结点包括职工的编号、年龄和性别的单向链表,分别定义函数完成以下功能: (1)遍历该链表输出全部职工信息;

fabs(

(2)分别统计男、女职工的人数; (3)在链表尾部插入新职工结点; (4)删除指定编号的职工结点;

(5)删除年龄在60岁以上的男性职工或55岁以上的女性职工结点,并保存在另一个链表中。 要求:用主函数建立简单菜单选择,并测试程序。 【解答】

#include using namespace std; struct employee { int num; int age; char sex; employee *next; };

employee *head, *head1; //建立单向链表 employee *create() {

employee *head, *p, *pend; char ch;

head = NULL;

cout << \输入数据?(y/n)\ if( ch == 'y' ) {

p = new employee;

cout << \编号:\ cin >> p->num; cout << \年龄:\ cin >> p->age; cout << \性别:\ cin >> p->sex; } else goto L0; while( ch == 'y' ) {

if( head == NULL ) head = p; else pend->next = p; pend = p;

cout << \输入数据?(y/n)\ if( ch == 'y' ) {

p = new employee;

cout << \编号:\ cout << \年龄:\