include "stdio. h"
#include "stdlib.h"
#include "string.h"
typedef struct _node{
int data;
struct _node *next; //节点的指针域,指向下一个节点的地址;
}Node,*pNode;
pNode Create_Link(void)//创建链表
{ pNode head,p1,p2; //定义头节点及其他节点;
int n=0; //n用来接受用户输入数字;
head=(pNode)malloc(sizeof(Node));//头节点开始分配内存;
head->next=NULL; //将头节点的指针域初始化为NULL;
p2=head; //定义一个中间指针P2来帮助我们找到新的尾部。
printf("\n请依次输入你要加入这个单向链表中的数字(0代表退出):");
while (n!=0) //当用户不想再加入新数字时就会退出循环。
{ scanf("%d",&n); //将用户输入的数字保存在N中。
if (n==0) break ; /*如果是零就退出循环*/ /*动态开辟新的内存*/ p1=(pNode)malloc(sizeof(Node)); /*将新开辟内存中储存N*/ p1->data = n ; /*将P1执行P2之后*/ p2->next = p1 ; /*将P2重新定位到末尾*/ p2 = p1 ; } /*末端标志物*/ p2->next = NULL ; return head ; } void Print_Link (pNode head )//打印链表信息 { if (head == NULL ) { printf("此时此刻这里是一片死寂\n") ; return ; } else { printf("此时此刻这里是一片生机盎然\n") ; while (head !=NULL ) { printf ("%d ",head ->data ); head = head -> next ; } printf ("\n"); } } int main()//测试代码 { int i ,j ,k ,l ,m ,num[6] ={ 0 }; char a[100]; char b[100]; char c[100]; char d[100]; char e[100]; FILE *fp; fp=fopen("C:\\Users\\Administrator\\Desktop\\test.txt","r+"); if((fp==NULL)) { perror("Error opening file"); exit(-1); } while((fscanf(fp,"%s %s %s %s %s\n",a,b,c,d,e))!=EOF){ num[0]=atoi(a); num[1]=atoi(b); num[2]=atoi
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!