结构体与链表编程题及解答.docVIP

  • 13
  • 0
  • 约7.23千字
  • 约 28页
  • 2022-06-13 发布于浙江
  • 举报
结构体与共用体 【程序1】 题目:编写input()和output()函数输入,输出5个学生的数据记录。(用结构体设计,学生记录中包括学号、姓名、四门课程成绩) 程序源代码: #include stdio.h #define N 5 struct student { char num[6]; char name[8]; int score[4]; } stu[N]; void input(struct student stu[]); void print(struct student stu[]); void main() { input(stu); print(stu); } void input(struct student stu[]) { int i,j; for(i=0;iN;i++) { printf(\nplease input %d of %d\n,i+1,N); printf(num: ); scanf(%s,stu[i].num); printf(name: ); scanf(%s,stu[i].name); for(j=0;j3;j++) { printf(score %d.,j+1); scanf(%d,stu[i].score[j]); } printf(\n); } } 1 void print(struct student stu[]) { int i,j; printf(\nNo. Name Score1 Score2 Score3\n); for(i=0;iN;i++) { printf(%-5s%-9s,stu[i].num,stu[i].name); for(j=0;j3;j++) printf(%-8d,stu[i].score[j]); printf(\n); } } 【程序2】 建立100名学生的信息表,每个学生的数据包括学号、姓名、及一门课的成绩,要求从键盘输入这100名学生的信息,并按照每一行显示一名学生信息的格式将他们的信息显示出来。 #include stdio.h #define N 3 struct student { int num; char name[20]; int score; }; void main() { int i; struct student s[N]; /*定义结构体类型数组,长度100*/ for(i=0;iN;i++) { printf(input number:); scanf(%d,s[i].num); printf(input name:); scanf(%s,s[i].name); printf(input score:); scanf(%d,s[i].score); } printf(Number: Name: score:\n); for(i=0;iN;i++) printf(%-8d%-10s%d\n,s[i].num,s[i].name,s[i].score); } 【程序3】 题目:创建一个链表。 程序源代码: /*creat a list*/ #include stdlib.h #include stdio.h #define N 3 struct list { int data; struct list *next; }; typedef struct list node; typedef node *link; void main() { link ptr,head; int num,i; int j; printf(please input numbers==); scanf(%d,j); ptr=(link)malloc(sizeof(node)); head=ptr; printf(please enter numbers:); for(i=0;i=j-1;i++) { scanf(%d,num); ptr-data=num; ptr-next=(link) malloc(sizeof(node)); if(i==j-1) ptr-next=NULL; else ptr=ptr-next; } ptr=head; while(ptr!=NULL) { printf(The value is ==%d\n,ptr-data); ptr=ptr-next; } } ==============================================================

文档评论(0)

1亿VIP精品文档

相关文档