使用LINUX C实现一个链表,要求:链表节点构成:姓名、分数、下一个节点指针...
来源:互联网 发布:没什么用网络语怎么说 编辑:程序博客网 时间:2024/06/03 16:00
使用LINUX C实现一个链表,要求:(共30分)
(1) 链表节点构成:姓名、分数、下一个节点指针;(9分)
(2) 构建完成链表节点数据输入,至少5个节点数据; (9分)
---------------------------------------------------------------------------------------------------------------------------------------------------------
(1) 链表节点构成:姓名、分数、下一个节点指针;(9分)
(2) 构建完成链表节点数据输入,至少5个节点数据; (9分)
(3) 保存链表数据到文件操作; (9分)
----------------------------------------------------------------------------------------------------------------
// A.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <stdio.h>#include "string.h"#include "stdlib.h"//使用LINUX C实现一个链表,要求:(共30分)//(1) 链表节点构成:姓名、分数、下一个节点指针;(9分)//(2) 构建完成链表节点数据输入,至少5个节点数据; (9分)//(3) 保存链表数据到文件操作; (9分)//链表节点定义struct student{ char name[20];//姓名 int score;//分数 struct student *next;//下一个节点指针};void main (){struct student *pHead;//链头struct student *pEnd;//链尾struct student *pNew;//新节点//创建链头和链尾 pHead=(struct student *)malloc(sizeof(struct student)); pEnd=pHead; pEnd->next=0;//链尾标志 //输入链头数据 printf("请输入学生姓名:"); scanf("%s",pHead->name); printf("请输入学生分数:"); scanf("%d",&pHead->score);//注意不能少取地址符&,不然程序崩溃 int i=1; while (++i<=5) { pNew=(struct student *)malloc(sizeof(struct student));//新节点 //输入新节点数据 printf("\n请输入学生姓名:"); scanf("%s",pNew->name); printf("请输入学生分数:"); scanf("%d",&pNew->score);//注意不能少取地址符&,不然程序崩溃 //把新节点数据放入链尾 pEnd->next=pNew; //更新链尾 pEnd=pNew; pEnd->next=0;//链尾标志 } //遍历链表,保存链表数据到文件printf("\n\n");FILE *pFile;if((pFile=fopen("C:\\student.txt","wb+"))==NULL){printf("保存文件出错!\n");exit(0);//退出程序}struct student *pTmp=pHead;while(pTmp){//printf("name:%s score:%d\n",pTmp->name,pTmp->score);//pTmp=pTmp->next;//下一节点//将分数转成字符串,为保存做准备char s[25];itoa(pTmp->score,s,10);fputs(pTmp->name,pFile);//保存姓名fputs("---",pFile);//分隔符fputs(s,pFile);//保存分数fputs("\r\n",pFile);//换行pTmp=pTmp->next;//下一节点}fclose(pFile);//关闭打开的文件printf("学生信息已保存在C:\\student.txt,按任意键退出程序!...\n");getchar();//暂停程序getchar();//暂停程序 }
---------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------
您的十分满意是我追求的宗旨。
您的一点建议是我后续的动力。
0 0
- 使用LINUX C实现一个链表,要求:链表节点构成:姓名、分数、下一个节点指针...
- 一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个rand指针指向这个链表中的一个随机节点或NULL,现在要求复制一个单链表来实现这个链表,返回复制后的新链表。
- <C语言>使用一个二维数组实现学生姓名管理系统,要求不能使用链表
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。
- 13 在O1的时间删除链表节点-使用一个节点指针
- 有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
- 实现双向链表删除一个节点P,在节点P后插入一个节点
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 21.输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 如何复制一个含有随机指针节点的链表
- 1.01一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
- 给定一个链表,链表的每一个节点包含三个属性:1、节点值;2、指向下一个结点的引用;3、随机指向链表内任意一个节点的引用,也能不指向任何节点。复制该链表
- 【算法之链表(三)】单链表中,在仅允许使用一个指针的情况下,在指定的节点前面插入以及删除一个节点
- 关于使用二级指针删除链表节点的分析
- hdu 2337 Escape from Enemy Territory (presolve bfs +bfs+二分)
- 安装apache,输入地址127.0.0.1后显示it works,为什么没显示网页?
- 编写你的第一个垃圾收集器
- AJAX note
- mysql源码安装笔记
- 使用LINUX C实现一个链表,要求:链表节点构成:姓名、分数、下一个节点指针...
- 自定义ListView
- 结合windows消息系统理解C#中WndProc函数和DefWndProc函数
- android中string.xml中%1$s、%1$d等的用法
- postgres 源码解读之 toast
- maven
- xml note
- nginx上下文总会
- shell数组小结