本文共 1882 字,大约阅读时间需要 6 分钟。
[C语言程序设计实验九结构体和共用体答案西北民大电气院
实验九 结构体和共用体一,实验目的:1,掌握结构体类型变量的定义和使用.2,掌握结构体类型数组的概念和应用.3,掌握共用体的概念和使用.4,了解链表的概念,初步学会对链表进行操作.二,实验准备:1,复习结构体的概念和定义方法.2,复习共用体的概念和定义方法.3,源程序.三,实验步骤及内容:程序改错typedef union { long x[2];int y[4];char z[8];} MYTYPE;typedef union them;main(){ printf("%d",sizeof(them));}
修改后的程序:
typedef union { long x[2];int y[4];char z[8];} MYTYPE;MYTYPE them;main(){ printf("%d",sizeof(them));}
程序填空以下程序建立了一个带有头结点的单向链表,结点中的数据可由键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data与不放数据,表空的条件是ph―>next==NULL).#include ______struct list {int data ;struct list *next ;};_ struct list *creatlist(){ struct list *p, *q, *ph;int a ;ph=(struct list *)malloc(sizeof(struct list));p=q=ph;printf("input an integer number,enter -1 to end :\n");scanf("%d",&a);while (a!=-1){ p=(struct list *)malloc(sizeof(struct list));p->data=a;q->next=p;ph->next=p;scanf("%d",&a);}p->next ="\0";return(ph);}main(){struct list *head;head=creatlist();}3,有5个学生,每个学生的数据包括学号,姓名,三门课成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课成绩,平均成绩).要求:用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出.(习题9.5)
源程序:
#include
#define N 5
struct student
{
char num[6];
char name[8];
float score[3];
float avr;}
stu[N];
int i,j,maxi;
float sum,max,average;
void main()
{
printf("请输入学生信息:\n");
for(i=0;i<5;i++)
{printf("no.:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{printf("score %d:",j+1);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
}
average=0;
max=0;
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<3;j++)
sum+=stu[i].score[j];
stu[i].avr=sum/3;
average+=stu[i].avr;
if (sum>max)
{max=sum;maxi=i;}
}
average/=N;
printf("no. name score1 score2 core3 average\n");
for(i=0;i
{printf("%5s%10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%9.2f",stu[i].score[i]);
printf("8.2%f\n",stu[i].avr);}
printf("average=%5.2f\n",average);
printf("highest score :student %s,%s.\n",stu[max
转载地址:http://xxodl.baihongyu.com/