建立一个带头结点的的单向链表并输出到out53.dat和屏幕上。各节点的值为对应的下表。链表的节点数及输出地文件名作为参数传入

来源:互联网 发布:车铣复合加工编程书 编辑:程序博客网 时间:2024/06/05 05:10
#include<stdio.h>#include<stdlib.h>typedef struct ss{ int data;struct ss *next;}NODE;void fun(int n,char *filename){NODE *h, *p, *s ;FILE *pf;int i;h=p=(NODE *)malloc(sizeof(NODE));h->data=0;for(i=1;i<n; i++){s=(NODE *)malloc(sizeof(NODE));s->data=i; p->next=s;p=s;}p->next=NULL;if((pf=fopen(filename,"w"))==NULL){printf("Can not open out53.dat!");exit(0);}p=h;fprintf(pf,"\n***THE LIST*** \n");printf("\n***THE LIST*** \n");while(p){fprintf(pf,"%3d",p->data);printf("%3d",p->data);if(p->next!=NULL){fprintf(pf,"->");printf("->");}p=p->next;}fprintf(pf,"\n");printf("\n");fclose(pf);p=h;while(p){s=p;p=p->next;free(s);}}main(){ char *filename="out53.dat";int n;printf("\nInput n:");scanf("%d",&n);fun(n,filename);}

原创粉丝点击