qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

C语言使用链表编写职工工资表

时间2023-03-24 10:12:19 提问来自 浙江省宁波市 的网友 分类创作 浏览336
#include<stdio.h> #include<stdlib.h> typedef struct employee //定义职工结构体 { char name[20]; //姓名 int salary; //工资 struct employee *next;//指向下一个节点的指针 }employee; void main() { int i,n; employee *head,*p1,*p2;//定义头指针,p1和p2均为中间变量; printf("请输入要录入的职工人数:"); scanf("%d",&n);//读入数据总数目; head = NULL;//初始化头指针为空; for(i=0;i<n;i++) { printf("\n请依次输入第%d位员工的姓名和工资:",i+1); p1=(employee*)malloc(sizeof(employee));//申请新的空间存储新数据; scanf("%s %d",&(p1->name),&(p1->salary)); //将新数据录入分别存储在name和salary中; p1->next=NULL;//将新申请的空间中next域初始化为NULL。 if (head==NULL) head=p1; //如果头指针为空(即这是表中的第一条数据时);就将头部令为此时申请的地址。 else p2->next=p1 ;//如不是表中最前端一条信心时就将上一条信心所在地址中next变量令为此时申请内存地址。 p2=p1 ;//然后再将此时改变了next变量所在内存地址令成P2 (即上一条信心所在内存你加今得P2 ) } printf("\n\t 姓名 \t 工资 \n"); for ( p2=head ; p2!=NULL ; ) { printf("\t %s \t %5d \n", p2->name , p2->salary ); free ( p2 ) ; head = head -> next ; p2 = head ; } }

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 我想设计一艘遥控船,该怎么样设置才能让它跑得更快 下一篇 请进一步思考兴趣,并反思个人兴趣是怎么影响现在的检测技术与仪器专业和未来的职业选择