求教 采用C语言、Win-TC编程环境 编程知识涉及:指针操作、涵盖三种结构、独立的算法。
采用C语言、Win-TC编程环境 编程知识涉及:指针操作、涵盖三种结构、独立的算法。 题目可自拟,谢谢各位大大了 如果各位大大有时间麻烦帮我看一下 谢谢了 很小的一个程序就可以了,我这里有一个源码,各位大大,可以帮我改一下变量和功能,谢谢了程序代码:
#include "stdio.h" typedef struct node { int xh; char sname[8]; int sx; int yw; int zf; int mc; struct node *next; }linklist; main() { linklist *head; linklist *s=NULL; //创建 链表时所用的指针。。 linklist *p=NULL;// 输出 链表时所用的指针。。 linklist *q=NULL; linklist *g=NULL; char ch; head = NULL;//开始时 链表的头为空; printf(" 输入 y 进入循环\n"); ch=getch(); while(ch =='y'||ch=='Y') { s=(linklist*)malloc(sizeof(linklist));//给链表建立个空间 printf("输入学号"); scanf("%d",&s->xh); printf("输入姓名"); scanf("%s",s->sname); printf("输入数学成绩"); scanf("%d",&s->sx); printf("输入语文成绩"); scanf("%d",&s->yw); s->zf=s->sx+s->yw; s->next = NULL; if(head == NULL||head->zf<s->zf) { s->next=head; head=s; } else { p=head; q=p->next; while(q!=NULL&&s->zf <= q->zf) { p=q; q=q->next; } s->next=q; p->next=s; } printf(" 继续输入按y\n"); ch=getch(); } //输出链表 g=head; while(g!=NULL) { printf("%4d",g->xh); printf("%4s",g->sname); printf("%4d",g->sx); printf("%4d",g->yw); printf("%4d",g->zf); printf("\n "); g=g->next; } }