您的位置:首页 > 其它

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

2012-04-20 20:54 531 查看
#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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐