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

链表的题目用c语言写

03月06日 编辑 fanwen51.com

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

链表的题目用c语言写

#include#includetypedef struct personName{ char name[10]; struct personName *next;}Name;typedef struct personData{ int birthday; struct personData *next; Name *names;}Data;Data* creatList(void){ Data *head = (Data*)malloc(sizeof(Data)); Data *pData =NULL; Data *pd =NULL; Data *pdd = NULL; Name *pn = NULL; Name *pnn = NULL; Name *pnm = NULL; int year; head->birthday = 0; head->next = NULL; head->names = (Name*)malloc(sizeof(Name)); head->names->next = NULL; head->names->name[0] = '\0'; for (;;) { printf("Please input the person's name\n"); pn = (Name* )malloc(sizeof(Name)); pn->next = NULL; scanf("%8s",pn->name); if (*pn->name == '#') { pn = NULL; free(pn); break; } year = 0; while (yearbirthday) & (pData->next != NULL)) { pdd = pData; pData = pData->next; } if (year == pData->birthday) { pnn = pData->names; while ((strcmp(pn->name, pnn->name) >0) & (pnn->next != NULL)) { pnm = pnn; pnn = pnn->next; } if (strcmp(pn->name, pnn->name) >0) { pnn->next = pn; printf("\nyear == pData->birthday & to trial\n"); } else { if (pData->names->next == NULL) { pData->names = pn; pn->next = pnn; } else { pnm->next = pn; pn->next = pnn; printf("\nyear == pData->birthday & to intal\n"); } } } else { pd = (Data*)malloc(sizeof(Data)); pd->birthday = year; pd->names = pn; pn->next =NULL; if (pd->birthday >pData->birthday) { pd->next = NULL; pData->next = pd; } else { pdd->next = pd; pd->next = pData; } } } return (head); }void print(Data* head) { Data* pData = head; Name* pName = NULL; while ( pData != NULL) { pName = pData->names; while (pName != NULL) { printf("\nThe name is %s",pName->name); printf(",The birthday is %d",pData->birthday); pName = pName->next; } printf("\nnext node is"); pData = pData->next; } }void find(Data *head){ Data *pData; Name *pName; char name[10]; int year; pData = head; printf("\nPlease input the name is to find\n"); scanf("%8s",name); printf("\nPlease input the person's birthday\n"); scanf("%d",&year); while ((pData->birthday != year) & (pData->next != NULL)) { pData = pData->next; } if (pData->birthday == year) { pName = pData->names; while ((strcmp(name,pName->name) != 0) & (pName->next != NULL)) { pName = pName->next; } if (strcmp(name,pName->name) == 0) { printf("\nFound!"); } else { printf("\nNot Found!"); } } else { printf("\nNot found!"); }}int main(void){ Data *head = creatList(); print(head); find(head); return 0;}调试好了!

c语言的链表问题

create和print的声明搞错,而且create函数的while循环有逻辑错误,给你改好了: #include#includestruct node { int num; struct node *next; }; main() { struct node *creat(); void print(struct node*); struct node *head; head=NULL; head=creat(); print(head); } struct node *creat() { struct node *p1,*p2; p1=p2=(struct node*) malloc (sizeof(struct node)); scanf("%d",&p1->num); p1->next =NULL; while(p1->num>0) { p1->next = (struct node*) malloc (sizeof(struct node)); p1->next->next = NULL; scanf("%d",&p1->next->num); p1 = p1->next; } return p2; } void print(struct node *head) { struct node *temp; temp=head; while(temp!=NULL) { printf("%6d",temp->num); temp=temp->next; } }

C语言单链表操作题目急急急!

#include

#include

#include

#include

using namespace std;

struct node{

int data;

struct node *next;

};

int main(void){

srand((unsigned)time(NULL));

struct node *head,*p,*q,*d;

head=(node *)malloc(sizeof(node));

head->next=NULL;

for(int i=0;i<10;i++){

p=(node *)malloc(sizeof(node));

p->data=rand();

p->next=head->next;

head->next=p;

}

for(q=head->next;q!=NULL;q=q->next){

cout<data<

}

cout<

for(q=head;q->next!=NULL;){

if((q->next->data)%2!=0){

d=q->next;

q->next=d->next;

free(d);

continue;

}

q=q->next;

}

for(q=head->next;q!=NULL;q=q->next){

cout<data<

}

for(q=head;q->next!=NULL;){

if((q->next->data)%2==0){

d=(node *)malloc(sizeof(node));

d->data=-1;

d->next=q->next;

q->next=d;

q=q->next->next;

}

}

cout<

for(q=head->next;q!=NULL;q=q->next){

cout<data<

}

return 0;

}

辛苦我大半天,满足你的要求,放心吧

C语言链表高手帮忙

还是手机用户饿~

给你写了看看吧~

void CreateList(LinkList *L,int n) /

{ /* 逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表L */ int i; LinkList p; *L=(LinkList)malloc(sizeof(struct LNode)); (*L)->next=NULL; /* 先建立一个带头结点的单链表 */ printf("请输入%d个数据\n",n); for(i=n;i>0;--i) { p=(LinkList)malloc(sizeof(struct LNode)); /* 生成新结点 */ scanf("%d",&p->data); /* 输入元素值 */ p->next=(*L)->next; /* 插入到表头 */ (*L)->next=p; } }

延伸阅读:

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

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

C语言程序题目第一题 原始数据是这样 1,4,3,2 8,6,5,7 3,7,2,5 4,8,6,1 循环体里 if{a[j][i]>a[k][i]} { t=a[j][i]; a[j][i]=a[k][i]; a[k][i]=t; } 在一次大循环中i是不变的,而且是占在...

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

C语言面试题目前面两位虽说的有一定道理,但到这里来的同志不是来寻求打击的。 社会上各个层面的人都有,各个层面的需求也都有,所以不要那样了。 C程序如下: #define N 24 #include "stdlib.h" v...

C语言面试题目急!!!前面两位虽说的有一定道理,但到这里来的同志不是来寻求打击的。 社会上各个层面的人都有,各个层面的需求也都有,所以不要那样了。 C程序如下: #define N 24 #include "stdlib.h" v...

c语言考试题目一、 是非判断题 1.错,标识符只能是以下划线或者字母开头。 2.错,1、编辑 2、编译 3、链接 4、运行。 3.对, break语句在循环中的作用是提前结束本次循环。 4.错, &&amp; 是逻辑...

C语言面试题目前面两位虽说的有一定道理,但到这里来的同志不是来寻求打击的。 社会上各个层面的人都有,各个层面的需求也都有,所以不要那样了。 C程序如下: #define N 24 #include "stdlib.h" v...

c语言编程题目哈哈,纯暴力 结果为1098 #include <stdio.h> int main() { int a , b , c , d ; for( a = 1 ; a < 10 ; a++) for(b = 0 ; b < 10 ; b++) for( c = 0 ; c < 10 ; c++) for(d...

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