解题思路:
用链表写了一串
注意事项:
参考代码:
#include<stdio.h> #include<malloc.h> typedef struct list { int date; struct list *pext; }NODE,*LIST; LIST create(); void repeat(LIST phead); void sort(LIST phead); void count(LIST phead); void print(LIST phead); int main() { LIST phead; phead=create(); repeat(phead); sort(phead); count(phead); print(phead); return 0; } LIST create() { int i,val,len; LIST phead=(LIST)malloc(sizeof(NODE)); LIST arrow=phead; arrow->pext=NULL; scanf("%d",&len); for(i=0;i<len;i++) { LIST pnew=(LIST)malloc(sizeof(NODE)); scanf("%d",&val); pnew->date=val; arrow->pext=pnew; pnew->pext=NULL; arrow=pnew; } return phead; } void repeat (LIST phead) { LIST p,q,l,k; for(p=phead->pext;p!=NULL;p=p->pext) { for(q=p->pext,l=p;q!=NULL;) { if(p->date==q->date) { k=q; if(q->pext!=NULL) { l->pext=q->pext; q=q->pext; } else { l->pext=q->pext; break; } free(k); } else { q=q->pext; l=l->pext; } } } } void sort(LIST phead) { int t; LIST q,p; for(p=phead->pext;p!=NULL;p=p->pext) { for(q=p->pext;q!=NULL;q=q->pext) { if(p->date>q->date) { t=p->date; p->date=q->date; q->date=t; } } } } void count(LIST phead) { int len=0; LIST p=phead->pext; while(p!=NULL) { len++; p=p->pext; } printf("%d\n",len); } void print(LIST phead) { LIST p=phead->pext; while(p!=NULL) { printf("%d ",p->date); p=p->pext; } }
0.0分
0 人评分
C二级辅导-公约公倍 (C语言代码)浏览:2122 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:686 |
字符串输入输出函数 (Java代码)浏览:1440 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:798 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |
前10名 (C语言代码)浏览:727 |
小O的数字 (C语言代码)浏览:1411 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:615 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:615 |