结构应用上机自测,第1张

结构应用上机自测,第2张

结构应用程序

1.设职工信息包括工号、月收入等,输入若干位职工的信息(以工号为0表示输入结束)。计算并输出每位职工的工号、月收入和应交公积金的金额。其中公积金的计算方法为:月收入大于等于l000元者,其公积金为月收入的4%;月收入不足1000元者,其公积金为月收入的3%。

【参考解】程序定义一个元素类型为结构类型的数组。程序首先输入职工信息存入结构数组中,并统计输入的职工信息条数。然后,遍历结构数组,按数组元素中的月收入信息计算每位职工的公积金。最后输出结构数组的内容。相应程序如下:

# include

# define N 100

Struct sT {

int no;

float in;

float ps;

} emp[N];

main()

{ int k,i;

printf("Enter data of employees! ”");

for( k = 0;k < N; k++ ) {

printf("Enter number of employee(zero for finisf) "); scanf("%d",&emp[k].no);

if(emp[k].no==0) break;

printf("Enter income of employee "); scanf("%d",&emp[k].in);

}

for( i=0; i< k - 1; i++)

emp[k].ps = emp[k].in * ( emp[k].in >= 1000.00? 0.04:0.03);

for( i=0; i< k; i++)

printf("编号:%d月收入:%.2f公积金:.2f",

emp[i].no, emp[i].in, emp[i].ps );

}

2.设学生的结构信息有学号和三门课程的成绩,编写程序,输入若干名学生的学号和成绩(以输入学号为0结束输入),,计算并输出总分学生的学号和他们的三门课程成绩

【参考解】程序定义一个元素类型为结构类型的数组。为了程序处理简便,结构类型可以包括学号、含3门课程成绩的数组和一个总分三个成分。程序首先输入学生信息,并在输入同时统计输入的学生信息条数。接着用循环计算各个学生的总分存入结构数组的元素中。接着寻找分,然后找出与分相同的学生,并输出其信息。相应程序如下:

# include?

# define N 100

# define MARKS 3

struct sT {

int no;

int score [MARKS];

int total;

} st[N],t;

void main()?

{ int k,j,i,t,max;

printf("Enter data of students! \n");
for(k=0;kprintf("Enter number of stedent(zero for finisf) ");
scanf("%d",&st[k].no);
if(st[k].no==0) break;
printf("Enter %d scores of stedent",MARKS);
for(j=0;jscanf("%d",&st[k].score[j]);
}
for( i = 0;i < k; i++ ) {
for( t=0,j=0; j < MARKS; j++)
t+= st[i].score[j];
st[i].total= t;
}
for(max= st[0].total,i=1;iif( max< st[i].total) max=st[i].total;
for( i=0; iif( st[i].total==max) {
printf("NO:%d\t", st[i].no);
for(j=0;j< MARkS; j++)
printf("%4d",st[i].score[j] );
printf("\tTOTAL:%d\n",st[i].total);
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 结构应用上机自测

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情