c语言程序设计,江宝钏著,实验九(12页).doc
-宁波大学实验报告学号 姓名 专业 土木建设类5班 学院 阳明学院 2016年 6月 10 日实验名称:结构体与链表实验目的与要求:1. 掌握结构体类型变量的定义和使用。2. 掌握结构体类型数组的定义和使用。3. 掌握利用结构和指针处理单向链表的方法4. 完成实验教材规定的内容,提交实验报告。实验内容与实验结果:(注明题号,并给出准确、全面的答案)1. 程序完整题#include<stdio.h>structint year;int month;int day;date;void main()int i,days;int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31;printf("Input year,month,day:");scanf("%d,%d,%d",&date.year,&date.month,&date.day);days=0;for(i=1;i<date.month;i+)days+=day_tabi;days+=date.day;if(date.month>2&&(date.year%4=0&&date.year%100!=0|date.year%400=0)days+=1;printf("%d/%d is the %dth day in %d",date.month,date.day,days,date.year);2. 程序改写题#include<stdio.h>structint year;int month;int day;date;int main()int days(int year,int month,int day);int day_sum;printf("Input year,month,day:");scanf("%d,%d,%d",&date.year,&date.month,&date.day);day_sum=days(date.year,date.month,date.day);printf("%d/%d is the %dth day in %d",date.month,date.day,day_sum,date.year);return 0;int days(int year,int month,int day) int sum=0,i; int a13=0,31,28,31,30,31,30,31,31,30,31,30,31; for(i=1;i<month;i+) sum=sum+ai; sum=sum+day; if(year%1=0&&year%100!=0|year%400=0)&&month>=3) sum+=1; return sum; 3. 一般编程题(1)#include<stdio.h>struct zchar a30;int r;void main() struct z z1="通信工程",32,z2="电子信息科学与工程",35,z3="自动化",44,z4="光电信息工程",28; printf("%s专业,报名人数%dn",z1.a,z1.r); printf("%s专业,报名人数%dn",z2.a,z2.r); printf("%s专业,报名人数%dn",z3.a,z3.r); printf("%s专业,报名人数%dn",z4.a,z4.r);(2)#include "stdio.h"#include <stdlib.h>#define SIZE 3struct student int score3;float average; studSIZE;void input() int i; for(i=0;i<SIZE;i+) printf("第%d个学生的成绩:n",i+1); scanf("%d%d%d",&studi.score0,&studi.score1,&studi.score2); void calaverage() int i; for(i=0;i<SIZE;i+) studi.average=(studi.score0+studi.score1+studi.score2)/3.0; void sortput() int i,j; struct student temp; for(i=0;i<SIZE;i+) for(j=0;j<SIZE-i-1;j+) if(studj.average<studj+1.average) temp=studj; studj=studj+1;studj+1=temp;void output() int i;printf("n"); for(i=0;i<SIZE;i+)printf("%d %d %d %3.1fn",studi.score0,studi.score1,studi.score2,studi.average);void main() input(); calaverage(); sortput(); output();实验心得、遇到的问题与解决的方法:结构体的使用,可以让我们可以将多个变量当作一个整体。第 12 页-