高级语言程序设计第七章习题参考答案作者名:不详 来源:网友提供 06年6月8日
第7章习题参考答案
一、单项选择题 1、 ④③②③② ④② 二、填充题 1、 成员、指向成员 2、 ·、-> 3、 34 三、程序分析题 1、 9 2、 3、 DDBBCC 四、程序设计题 1、用结构体存放下表中的数据,然后输出每人的姓名和实发数(基本工资+浮动工资-支出)。
#include "stdio.h" main() { struct employee { char name[10]; float basepay; float floatpay; float payout; }a[3]={{"zhao",240.00,400.00,75.00}, {"qian",360.00,120.00,50.00}, {"sun",560.00,0.00,80.00}}; int i; printf("name realwages "); for(i=0;i<3;i++) printf("%-10s%10.2f ",a[i].name,a[i].basepay+a[i].floatpay-a[i].payout); } 2、编一个程序,输入10个职工的编号、姓名、基本工资、职务工资、求出其中“基本工资+职务工资”最少的职工姓名并输出。 #include "stdio.h" main() { int i; struct worker { long number; char name[8]; float basepay; float busypay; }a[10],*pmin; for(i=0;i<10;i++) scanf("%ld%s%f%f",&a[i].number,a[i].name,&a[i].basepay,&a[i].busypay); pmin=a; for(i=1;i<10;i++) if(pmin->basepay+pmin->busypay>a[i].basepay+a[i].busypay) pmin=&a[i]; printf("最少的是:%s ",pmin->name); } 3、编一个程序,输入10个学生的学号、姓名、3六课程的成绩,求出总分最高的学生姓名并输出。 #include "stdio.h" main() { typedef struct { long number; char name[10]; float score1; float score2; float score3; }STUDENT; STUDENT a[10],*pmax; int i; for(i=0;i<10;i++) scanf("%ld%s%f%f%f",&a[i].number,a[i].name,&a[i].score1,&a[i].score2,&a[i].score3); pmax=a; for(i=1;i<10;i++) if(pmax->score1+pmax->score2+pmax->score3<a[i].score1+a[i].score2+a[i].score3) pmax=&a[i]; printf("总分最高的是:%s ",pmax->name); } 4、编一程序,输入下列学生成绩表中的数据,并用结、结构体数组存放。然后统计并输出三门课程的名称和平均分数。
#include "stdio.h" main() { int i; typedef struct { char name[10]; float foxbase; float basic; float c; float ave; }STUDENT; STUDENT a[4]={{"zhao",97.5,89.0,78.0}, {"qian",90.0,93.0,87.5}, {"sun",75.0,79.5,68.5}, {"li",82.5,69.5,54.0}}; for(i=0;i<4;i++) a[i].ave=(a[i].foxbase+a[i].basic+a[i].c)/3; printf("name foxbase basic c average "); for(i=0;i<4;i++) printf("%-10s%10.1f%10.1f%10.1f%10.2f ", a[i].name,a[i].foxbase,a[i].basic,a[i].c,a[i].ave); }
|
||||||||||||||||||||||||||||||||||||||
| |