用fgets或者fscanf从文件输入到链表中的内容错误!!

#include
#include
#include
#include
#include
typedef struct node{
char question[200];
char option_A[50];
char option_B[50];
char option_C[50];
char option_D[50];
char answer[3];
char respond[3];
char analysis[200];
int length;
struct node *next;
}LNODE,*LinkList;

int main(void)
{
LNODE *L;
L=new LNODE;
L->next=NULL;
L->length=0;

LNODE *p;
LNODE *q;
q=L;
int i;
FILE *tk;

if((tk=fopen("//Users//apple//Documents//Test System//test question.txt","r"))==NULL)
{
    printf("File open error!\n");
    exit(0);
}
while(!feof(tk))
{
    fgets(q->question,sizeof(LNODE),tk);
    fgets(q->option_A,sizeof(LNODE),tk);
    fgets(q->option_B,sizeof(LNODE),tk);
    fgets(q->option_C,sizeof(LNODE),tk);
    fgets(q->option_D,sizeof(LNODE),tk);
    fgets(q->answer,sizeof(LNODE),tk);
    fgets(q->analysis,sizeof(LNODE),tk);
    p=new LNODE;
    p->next=NULL;
    q->next=p;
    q=q->next;
}
if(fclose(tk))
{
    printf("Can not close the file!\n");
    exit(0);
}
q=L;
while(q->next)
{
    printf("%s",q->question);
    printf("%s",q->option_A);
    printf("%s",q->option_B);
    printf("%s",q->option_C);
    printf("%s",q->option_D);
    printf("%s",q->answer);
    printf("%s",q->analysis);
    q=q->next;
}

}


在数据结构中,从逻辑结构上可以把数据结构分成()
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
C
略
与数据元素本身的形式,内容,相对位置,个数无关的是数据的()
A.存储结构
B.存储实现
C.逻辑结构
D.运算实现
C
略
通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()
A.数据具有同一特点
B.每个数据元素都一样
C.不仅每个数据元素所包含的数据项都一样,而且对应数据项的类型要一致
D.数据元素所包含的数据项的个数要相等
C
只有这样系统才能高效统一的对数据进行管理。
算法的时间复杂度取决于()
A.问题的规模
B.待处理的数据的初态
C.计算机的配置
D.A和B
D
略
顺序表中第一个元素的储存地址是100,每个元素的长度为2,则第5个元素的地址是()
A.100
B.108
C.100
D.120
B
100+(5-1)*2==108
线性表若采用链式存储结构,要求内存中可用存储单元的地址()
A.部分是连续的
B.一定是不连续的
C.必须是连续的
D.连续或不连续都可以
D
因为链表有指针跟踪从而连不连续都可以。
用链接方式存储的队列,在进行删除运算时()
A.仅修改头指针
B.仅修改尾指针
C.头尾指针都一定要修改
D.头尾指针可能都要修改
D
一般只修改头指针,但是删除的结点若为最后一个时,则要重新对尾指针赋值。
一个递归算法必须包括()
A.递归部分
B.终止条件和递归部分
C.迭代部分
D.终止条件和迭代部分
D
略
串是一种特殊的线性表,其特殊性体现在()
A.可以顺序储存
B.可以链式储存
C.数据元素是单个字符
D.数据元素可以是多个字符
C
串是一种内容受限的线性表。
把一棵树转化为二叉树后,这棵二叉树的形态是()
A.唯一的
B.有多种
C.有多种,但根结点都没有左孩子
D.有多种,但根结点都没有右孩子
A
略。
利用二叉链表存储树,则根结点的右指针()
A.指向最左孩子
B.指向最右孩子
C.非空
D.为空
C
右指针指向兄弟结点。
在以下的存储形式中,不是树的存储形式的是()
A.双亲表示法
B.孩子链表表示法
C.孩子兄弟表示法
D.顺序存储表示法
D
常用孩子兄弟表示法转化为二叉树进行储存。
在一个无向图,所有顶点的度数之和等于图的边数的()倍
A.1/2
B.1
C.2
D.4
A
略
折半查找与二叉排序树的时间性能()
A.相同
B.完全不同
C.有时不相同
D.数量级都是O(log2n)
C
要看初始数据的状态。
堆的形状是一棵()
A.二叉排序树
B.满二叉树
C.完全二叉树
D.平衡二叉树
C
略
若一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方式建立的初始堆为()
A.79,46,56,38,40,84
B.84,79,56,38,40,46
C.84,79,56,46,40,38
D.84,56,79,40,46,38
C
画出图去找矛盾。
快速排序在下列()最易发挥作用
A.被排序的数据中具有多个相同的排序码
B.被排序的数据已经基本有序
C.被排序的数据完全无序
D.被排序的数据中的最大值和最小值相差悬殊
C
完全无序时用快速排序。


```[图片说明](https://img-ask.csdn.net/upload/201812/31/1546186739_926263.jpeg)
[图片说明](https://img-ask.csdn.net/upload/201812/31/1546186723_760510.jpeg)
c++
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!