问题 写作题
书面表达。
      根据下表提示并适当发挥想象,以My friend 为题写一篇70字左右的短文。
姓名 Millie年龄14
出生地南京居住地 南通
就读学校 南通中学班级七年级四班
相貌短发,苗条…爱好打排球…
擅长英语和语文不喜欢打电脑游戏…
                                                                                                                            
                                                                                                                            
                                                                                                                            
答案

    I have a friend. Her name is Millie. She is fourteen years old. She was born in Nanjing, but she lives in

Nantong now. She stusies in Nantong Middle School. She is in Class Four, Grade Seven. She has short hair.

She is slim. She wears glasses. She likes playing volleyball and listening music. She is good at English and

Chinese, but she doesn't like playing computer games.

(答案不唯一)

单项选择题
问答题

针对以下C语言程序,按要求回答问题。

已知link.c程序如下:

/*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入节点、删除节点和链表反转操作*/

#include<stdio.h>

#include<stdlib.h>

typedef struet list_node*list_pointer; //定义链表指针

typedef struct list_node //定义链表结构

int date;

list_pointer link;

list node;

//用到的操作函数

1ist_pointer create(); //建立一个单向链表

vold insert(list_pointer*p_ptr,list_pointer node; //在node后加入一个新的节点

void delete_node(list_pointer*p_ptr,list_pointer trail,list_pointer node);

//删除前一个节点是trail的当前节点node

void print(list_pointer*p_ptr); //打印链表节点中的值

list_pointer invert(list_pointer lead); //反转链表

int main()

list_pointer ptr=NULL;

list_pointer node,trail;

list_pointer*p=&ptr;

int choose,location,i;

printf("you should creale a link first:\n");

//建立一个单向链表

ptr=create();/*ptr指向链表的第一个节点*/

print(ptr);

//根据用户的不同选择进行相应的操作:

printf("input number 0,you can quit the program\n");

printf("input number 1,you can insert a new node to link\n");

printf("input number 2,you can delete a node from the link\n");

printf("input number 3,you can invert the link\n");

printf("please input your choice\n");

scanf("&d",&choose);

while(choose!=0)

switch(choose)

case 1:

i=1;

while(i<location)

node=node->link;

insert(p,node);/*p为指向ptr的指针*/

print(ptr);

break;

case 2:

printf("you will delete a node from the link\n");

printf("please input the location of the node:\n");

scanf("&d,&location);

node=ptr;

if(location==1)

trail=NULL;

trail=ptr;

i=1;

while(i<location)

trail=trail->link;

i++;

node=trail->link;

delete_node(p,trail,node);

print(ptr);

brcak;

ease 3:

printf("you will invert the link\n");

ptr=invert(ptr);

print(ptr);

break;

default;

break;

return-1;

printf("please input your choiee\n");

seanf("&d",&choose);

printf("please input you choice\n");

scanf("&d",&choose);

retnrn 0;

//根据用户的输入数值建立一个新的单向链表;

list_pointer create()

int i,current,length;

list_pointer p1,p2,head;

prinff("please input the node number of the link:\n");

scanf("&d",&length);

printf("the nnmber of the link is:&d",length);

printf("please input the dais for tile link node:\n");

i=0;

p1=p2=(list_pointer)malloc(sizeof(list_node));

head=p1;

for(i=1;i<length;i++)

scanf("&d",&current);

p1->data=curren1:。 p2->link=p1;

p2=p1;

p1=(list_pointer)malloc(sizeof(list_node));

p2->link=NULL;

return head;

 

画出主函数main的控制流程图。