某公司的笔试题目,大家看看!

hblinlin 2003-10-11 09:35:46
改错(有三个错误)
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct list_element {
char name[20];
int number;
list_element *next;
};
void order ( list_element *head ) {
char name[20];
int number;
list_element *head_i;


list_element *head_j;

head_i = head;
while ( head_i != NULL ) {
head_j = head -> next;
while ( head_j != NULL ) {
if ( head_i->number > head_j->number ) {
strcpy ( name, head_i->name );
strcpy ( head_i->name, head_j->name );
strcpy ( head_i->name, name );
number = head_i->number;
head_i->number = head_j->number;
head_j->number = number;
}
head_j = head_j->next;
}
head_i = head_i->next;
}
}
void main() {
list_element *head;
list_element *hc;


hc = (list_element *)malloc(sizeof(head));
head = hc;
head->name = "AAA";
head->number = 1;
head->next = NULL;
//......................
order(head);
//......................
}
...全文
26 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kitigesh 2003-10-12
  • 打赏
  • 举报
回复
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct list_element {
char name[20];
int number;
list_element *next;
};
void order ( list_element *head ) {
char name[20];
int number;
list_element *head_i;


list_element *head_j;

head_i = head;
while ( head_i != NULL ) {
head_j = head -> next; // **** 应改为 head_j = headi -> next;
while ( head_j != NULL ) {
if ( head_i->number > head_j->number ) {
strcpy ( name, head_i->name );
strcpy ( head_i->name, head_j->name );
strcpy ( head_i->name, name );//*将head_i->name
number = head_i->numbe; //**改为head_j->name
head_i->number = head_j->number;
head_j->number = number;
}
head_j = head_j->next;
}
head_i = head_i->next;
}
}
void main() {
list_element *head;
list_element *hc;


hc = (list_element *)malloc(sizeof(head));//*应改为hc = (list_element *)
head = hc; //**** malloc(sizeof(struct
head->name = "AAA"; //**** list_element));
head->number = 1;
head->next = NULL;
//......................
order(head);
//......................
wing0 2003-10-11
  • 打赏
  • 举报
回复
我改的,不知道对不对。
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct list_element {
char name[20];
int number;
struct list_element *next; /*加了struct*/
};
void order ( list_element *head ) {
char name[20];
int number;
list_element *head_i;


list_element *head_j;

head_i = head;
while ( head_i != NULL ) {
head_j = head_i -> next;/*将“head改成head_i*/
while ( head_j != NULL ) {
if ( head_i->number > head_j->number ) {
strcpy ( name, head_i->name );
strcpy ( head_i->name, head_j->name );
strcpy ( head_j->name, name );/*将“head_i改成head_j*/
number = head_i->number;
head_i->number = head_j->number;
head_j->number = number;
}
head_j = head_j->next;
}
head_i = head_i->next;
}
}
void main() {
list_element *head;
list_element *hc;


hc = (list_element *)malloc(sizeof(head));
head = hc;
head->name = "AAA";
head->number = 1;
head->next = NULL;
//......................
order(head);
//......................
}

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧