orchard可以做哪些网站wap是什么意思
news/
2025/9/23 5:38:39/
文章来源:
orchard可以做哪些网站,wap是什么意思,深圳广电制作中心,网站外网怎么做第13套#xff1a; 给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为#xff1a;10、4、2、8、6#xff0c;排序 后链表结点数据域从头至尾的数据为#xff1a;2、4、6、8、10。 请在程序的下划线处填…第13套 给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6排序 后链表结点数据域从头至尾的数据为2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include stdlib.h
#define N 6
typedef struct node {
int data;
struct node *next;
} NODE;
void fun(NODE *h)
{ NODE *p, *q; int t;
p __1__ ;
while (p) {
q __2__ ;
while (q) {
if (p-data __3__ q-data)
{ t p-data; p-data q-data; q-data t; }
q q-next;
}
p p-next;
}
}
NODE *creatlist(int a[])
{ NODE *h,*p,*q; int i;
h (NODE *)malloc(sizeof(NODE));
h-next NULL;
for(i0; iN; i)
{ q(NODE *)malloc(sizeof(NODE));
q-dataa[i];
q-next NULL;
if (h-next NULL) h-next p q;
else { p-next q; p q; }
}
return h;
}
void outlist(NODE *h)
{ NODE *p;
p h-next;
if (pNULL) printf(The list is NULL!\n);
else
{ printf(\nHead );
do
{ printf(-%d, p-data); pp-next; }
while(p!NULL);
printf(-End\n);
}
}
main()
{ NODE *head;
int a[N] {0, 10, 4, 2, 8, 6 };
headcreatlist(a);
printf(\nThe original list:\n);
outlist(head);
fun(head);
printf(\nThe list after sorting :\n);
outlist(head);
} 解题思路 本题是考察使用链表方法对链表的结点数据进行升序排列。 第一处使用结构指针p来控制链表的结束p必须指向h结构指针的next指针来定位p 的初始位置。所以应填写h-next。 第二处使用while循环对链表中结点的数据进行排序q必须指向p结构指针的next指针。所以应填写p-next。 第三处如果当前结点中的数据大于大于等于循环中的结点数据那么进行交换所 以应填写或。 给定程序MODI1.C是建立一个带头结点的单向链表, 并用随机函数为各结点数 据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值, 并且作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序
#include stdio.h
#include stdlib.h
typedef struct aa
{ int data;
struct aa *next;
} NODE;
fun ( NODE *h )
{ int max-1;
NODE *p;
ph ;
while(p)
{ if(p-datamax )
maxp-data;
ph-next ;
}
return max;
}
outresult(int s, FILE *pf)
{ fprintf(pf,\nThe max in link : %d\n,s);}
NODE *creatlink(int n, int m)
{ NODE *h, *p, *s, *q;
int i, x;
hp(NODE *)malloc(sizeof(NODE));h-data9999;
for(i1; in; i)
{ s(NODE *)malloc(sizeof(NODE));
s-datarand()%m; s-nextp-next;
p-nexts; pp-next;
}
p-nextNULL;
return h;
}
outlink(NODE *h, FILE *pf)
{ NODE *p;
ph-next;
fprintf(pf,\nTHE LIST :\n\n HEAD );
while(p)
{ fprintf(pf,-%d ,p-data); pp-next; }
fprintf(pf,\n);
}
main()
{ NODE *head; int m;
headcreatlink(12, 100);
outlink(head , stdout);
mfun(head);
printf(\nTHE RESULT :\n); outresult(m, stdout);
} 解题思路 程序中是使用while循环语句和结合结构指针p来找到数据域中的最大值。 第一处: p指向形参结构指针h的next指针所以应改为ph-next;。 第二处: p指向自己的下一个结点所以应改为pp-next 请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中, 一维数组中数据的个数存放在形参n所指的存储单元中。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 33 33 33 44 44 44 44 55 55 55 55。 注意部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
void fun(int (*s)[10], int *b, int *n, int mm, int nn)
{
}
main()
{ int w[10][10] {{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j ;
int a[100] {0}, n 0 ;
printf(The matrix:\n) ;
for(i 0 ; i 3 ; i)
{ for(j 0 ; j 4 ; j) printf(%3d,w[i][j]) ;
printf(\n) ;
}
fun(w, a, n, 3, 4) ;
printf(The A array:\n) ;
for(i 0 ; i n ; i) printf(%3d,a[i]);printf(\n\n) ;
NONO() ;
} 解题思路 本题是把二维数组中的数据按行存放到一维数组中。
计算存放到一维数组中的位置。取出二维数组中的数据存放到一维数组已计算出的位置中。 参考答案
void fun(int (*s)[10], int *b, int *n, int mm, int nn)
{
int i, j, k ;
for(i 0 ; i mm ; i)
for(j 0 ; j nn ; j) {
k i * nn j ;
b[k] s[i][j] ;
}
*n mm * nn ;
}
main()
{ int w[10][10] {{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j ;
int a[100] {0}, n 0 ;
printf(The matrix:\n) ;
for(i 0 ; i 3 ; i)
{ for(j 0 ; j 4 ; j) printf(%3d,w[i][j]) ;
printf(\n) ;
}
fun(w, a, n, 3, 4) ;
printf(The A array:\n) ;
for(i 0 ; i n ; i) printf(%3d,a[i]);printf(\n\n) ;
NONO() ;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911493.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!