- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
gc23.c 下列程序是建立一个包含学生有关数据的单向链表。但该程序有 2 个错
误,错误出现在
每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删
语句。
#define NULL 0
struct stud
{
long num;
char name[10];
float score;
struct stud *next;
};
/* …………… comment …………… */
int n;
struct stud create() ////////struct stud *create(void)
{
struct stud *head,*p1,*p2;
n=0;
p1=p2=(struct stud *)malloc(sizeof(struct stud));
scanf(%ld,%s,%f,p1-num,p1-name,p1-score);
/* …………… comment …………… */
head=NULL;
while(p1!=0) //////////while(p1-num!=0)
{
n=n+1;
if(n==1) head=p1;
else p2-next=p1;
p1=(struct stud *)malloc(size(struct stud));
scanf(%ld,%s,%f,p1-num,p1-name,p1-score);
}
p2-next=NULL;
return(head);
}
gc57.c的功能是互换给定数组中的最大数和最小数。如将下面 8 个数:
5,3,1,4 ,2 ,8,9,6
变成:
5,3,9,4 ,2 ,8,1,6
程序中,最大数与最小数的互换操作通过函数调用来实现,让指针 max 和
min 分别指向最大数和最小数。程序有二处错误,请改正。注意:不得增行和删
行,也不得修改程序的结构。
main()
{
1
int i;
static int a[8]={5,3,1,4,2,8,9,6};
void jhmaxmin();
printf( Original array: \n);
for(i=0; i8; i++)
printf(%5d,a[i]);
printf(\n);
jhmaxmin(a,8);
printf( Array after swaping max and min: \n);
for(i=0; i8; i++)
printf(%5d,a[i]);
printf(\n);
}
//注意: void jhmaxmin(p,n)
int p, n; 这是一种老的函数形式,现在一般这样写 void jhmaxmin(int p,int n)
void jhmaxmin(p,n)
int p, n; //////// int *p,n;
{
int t, *max, *min, *end, *q;
end=p+n;
m
文档评论(0)