范文无忧网面试笔试笔试回答

链表基本操作练习C语言

03月06日 编辑 fanwen51.com

[C语言选择笔试题]选择题 (1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对 (2)下列叙述中正确的是 A)有一个以...+阅读

链表基本操作练习C语言

说真的,你的分数太少了.当我弄了一半的时候才觉得有点不值,但又不想半途而废,最终还是帮你做了,所以希望你能及时采纳,这可是我弄了好久的呀!好了,最后还帮你修改了一遍,已经编译通过的了.并且检查过可以完成你说的功能的了.#include#includetypedef struct list { int num;struct lst *next; } LST; LST *mycreat() { int data=0; LST *head=NULL,*p=NULL,*q=NULL; head=(LST*)malloc(sizeof(LST)); q=head; printf("请输入链表数据(整型)并以空格空开,以-1为最后一个数,回车结尾:\n"); scanf("%d",&data); while(data!=-1) { p=(LST*)malloc(sizeof(LST)); q->next=p; p->num=data; q=p; scanf("%d",&data); } q->next=NULL; return head; } void mycheck(LST *head) { int i=0,x=0; LST *p=NULL; printf("\n请输入要查询的结点:\n"); scanf("%d",&x); p=head; while(p!=NULL) if(i!=x) { p=p->next; i++; } else break; if(p!=NULL)printf("\nthe %d node is %d\n",x,p->num); else printf("\n there is no this node\n"); } int mydelete (LST* head,int m) { LST *p=NULL,*q=NULL; q=head; p=head->next; while(p!=NULL) if(m!=p->num) { q=q->next; p=p->next; } else break; if(p==NULL) return 0; q->next=p->next; free(p); return 1; } void myprint(LST *head) { LST *p=NULL; p=head->next; if(p==NULL)printf("\n empty list!"); else do { printf("\n%5d\n",p->num); p=p->next; }while(p!=NULL); printf("\n"); } int thelength(LST *head) { int length=0; LST *p=NULL; p=head; while(p!=NULL) { p=p->next; length++; } return length; } void clear(LST *head) { LST *p=NULL; p=head; while(p->next!=NULL) { p=p->next; p->num=0; } } main() { int k=0,m=0,l=0; LST *head=NULL; head=mycreat(); mycheck(head); printf("to delete list:"); scanf("%d",&m); k=mydelete(head,m); if(k==1) { printf("after deleting"); myprint(head); } else printf("not exist.\n"); l=thelength(head); printf("the length is %d",l); clear(head); }

关于C语言的链表的题目

#include#include#includeint print_link(struct linklist *head); //声明打印链表的函数struct linklist //链表结点{ int id; char name[10]; char sex; int age; struct linklist *next;}*head;int main(){ int age_temp=0; struct linklist *temp,*del_temp,*add_temp; head = (struct linklist *) malloc ( sizeof(struct linklist)); //开辟首结点 temp=head; head->id=1; //给首结点赋值,首结点不能删除 head->age=10; memset(head->name, 0 , sizeof(head->name)); strcpy(head->name, "aaa"); head->sex = 'f'; head->next = NULL; while(1) //当输入AGE为0时退出程序 { printf ("input age:(end with 0)\n"); //输入年龄 scanf("%d",&age_temp); if (age_temp == 0) break; temp = head; while( temp->next != NULL) { if (temp->next->age == age_temp) //如果链表里有与输入AGE相等的,删除该结点 { del_temp = temp->next; temp->next = del_temp->next; free(del_temp); temp = head; printf("delete a node\n"); break; } temp= temp->next; } if (temp->next == NULL) //如果没e69da5e6ba9062616964757a686964616f31333262343133有,输入信息,增加结点 { add_temp = (struct linklist *) malloc ( sizeof(struct linklist)); memset(add_temp->name, 0, sizeof(add_temp->name)); add_temp->next = NULL; printf ("no data in linklist,add a new node\n"); add_temp->age = age_temp; printf ("input id:\n"); scanf ("%d",&add_temp->id); printf ("input name:\n"); scanf ("%s",add_temp->name); getchar(); printf ("male or female:(f/m)\n"); scanf ("%c",&add_temp->sex); temp->next = add_temp; } print_link(head); } return 0;}int print_link(struct linklist *head) //打印链表的函数{ struct linklist *temp=head; int i=1; while(temp!= NULL) { printf ("linklist node %d:\n",i); printf ("id=%4d | name=%10s | sex=%4c | age=%4d\n",temp->id,\ temp->name,temp->sex,temp->age); temp = temp->next; i++; } return 0;}

C语言链表这个题目怎么做

/*【问题】

(13) 程序运行时,第1行输出 (13) 。b,a输出9,s(9)=3<9<5=1<5=1

a、0 1 b、9 1 c、0 0 d、9 0

(14) 程序运行时,第2行输出 (14) 。b,开始n=4,n%2=0,if不成立,输出4,当n--后,

n=3,n%2=1,if成立,执行continue,后面printf不执行,2,0,这里只输出偶数

a、3 1 b、4 2 0 c、4 3 2 1 d、0

(15) 程序运行时,第3行输出 (15) 。a. 2.0*f2(2.0,2)=2.0*2.0*f2(2.0,1)=2*2*2.0=8.0(相当于2^3)递归调用

a、8.0 b、2.0 c、4.0 d、3.0

(16) 程序运行时,第4行输出 (16) 。a;n=0,s(0)=3<0<5=0<5=1,main中使用的n是全局变量,默认值为0;

而函数f1,f2中的n是局部变量,都是独立的

a、0 1 b、3 1 c、0 0 d、3 0*/

大学c语言题目链表在线等急希望10分钟内

#includeusing namespace std;struct node { int data; node *next; };node *createlink(int n){ node *head = new node; int t; node *p; node *q; p=q=head; while(n--) { cin >>t; q= new node; q->data=t; p->next=q; p=q; } p->next=NULL; return head;}node *delnode(node *head, int m) { int t=0; int i; int index; while(m--) { cin >>index; index=index-t; t=t+1; node *p=head; node *q=p->next; i=0; while(q) { i++; if(i == index) { p->next=q->next; delete q; q=p->next; break; } else { p=p->next; q=q->next; } } } return head;}void outlink(node *head){ node *p=head->next; while(p) { coutdatanext; } cout>m; delnode(head,m); outlink(head); system("pause"); return 0;}...

延伸阅读:

C语言练习2.1以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具...

华为C语言笔试题一、判断题(对的写t,错的写f并说明原因,每小题4分,共20分) 1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( ) 2、int (*ptr) (),则ptr是一维数组的名字。( ) 3、指...

c语言笔试题大全以下是华为c语言笔试题大全。 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用:: 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名...

二级C语言笔试(考试时间120分钟,满分100分) 一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)(1)在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)16(2)在多媒体计算机中,CD-ROM属于A)存储媒体 B)传输...

C语言笔试题目下面是由本站笔试网推荐的C语言笔试题目 一、判断题(对的写T,错的写F并说明原因) 1、有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。() 2、int(*ptr)(),则ptr是一维数...

c语言面试题1.gets()函数问:请找出下面代码里的问题:#includestdio.hintmain(void){charbuff[10];memset(buff,0,sizeof(buff));gets(buff);printf(\nThebufferenteredis[%s]\n,buff);ret...

C语言题目谢谢12题选A。13题选B。17题选D,22D,23B 第12题,struct结构的大小是计算所含成员的总大小,题中定义1个整型成员占2字节,一个8元素的字符数组,字符变量1字节,则数组大小8字符,一个字符...

关于c语言和c库函数的理解每种c编译器都有自己特定的库函数吗? ——现在没多少啦,因为标准规定的至少要实现的库函数已经足够多了。但编译器支持链接第三方的一些库,所以你可以不断地增加库函数,甚至写自...

谁给我几道求职过程中笔试时容易考到的c语言或者c语言的题目个人主要是学C语言的,给你说说C在面试中常见的问题吧: (首先声明,不同的公司对员工的考核是不同的,所以面试的侧重点肯定也不同,就根据自己的经历,不代表是全部,给你说说吧) 面试,一般...

推荐阅读
图文推荐
栏目列表