当前位置:首页 > 第五章习题答案.
写程序顺序读入一个四边形的4个顶点坐标,判别由这个顶点的连线构成的图形是否为正方形、矩形或其他四边形。要求:定义求两个点距离的函数使用结构参数。 【解答】
#include
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
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 << \年龄:\
共分享92篇相关文档