更多"请编写函数fun( ),它的功能是:将带头结点单向链表按data域由大"的相关试题:
[简答题]请编写函数fun( ),它的功能是:将带头结点单向链表按data域由大小排序(排序时不考虑头结点),主函数用随机函数为各结点data域赋值,头结点data域赋值为0。
注意:部分原程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
[试题源程序]
#include <stdio.h>
#include <conio.h>
struct aa
int data;
struct aa*next;
;
void fun(struct aa*p)
main( )
int i,n,m=100;
struct aa*h=NULL,*s=NULL,
*p=NULL;
clrscr( );
S=(struct aa*)malloc(sizeof(struct aa));
h=s;h->data=0;h->next=NULL;
printf("Please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
p=(struct aa*)malloc(sizeof(struct aa));
p->data=rand( )%m;p->next=NULL;
printf("%d",p->data);
s->next=p;s=s->next;
fun(h);
printf("/n");
for(h=h->next;h!=NULL;h=h->nnext)
printf("%d",h->data);
[填空题]请补充fun函数,该函数的功能是:将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
#include <stdio.h>
#include <stdlib.h>
#define N 5
typedef Struct node
int data;
struct node *next;
NODE;
void fun(NODE *h)
NODE *p, *q, *r;
p= (1) ;
if ( (2) ) return;
q=P->next;
P->next=NULL;
while (q)
r=q->next;
q->next=p;
p=q;
q= (3) ;
h->next=p;
NODE *creatlis (int a[])
NODE *h, *p, *q; int i;
h= (NODE *)malloc(sizeof(NODE));
h>next=NULL:
for(i=0; i<N; i++)
q=(NODE *)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)
h->next=p=q;
else
p->next=q; p=q;
return h;
void ou list(NODE *h)
NODE *p;
p=h->next;
if(p==NU
[单项选择]若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。
A. (*p) fun(x,y);
B. *pfun(x,y);
C. (*p)(x,y)
D. *p(x,y)
[填空题]若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是______。
[填空题]设在主函数中有以下定义和函数调用语句,且函数fun为void型,请写出函数fun的首部 【8】 。要求形参名为b。
main( )
double s[10][22];
int n;
┆
fun(s);
┆
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 【10】 。要求形参名为b。
main( )
{double [10][22];
int n;
......
fun(s);
}
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型,请写出fun函数的首部 【13】 。要求形参名为b。
main( )
double s[10] [22];
int n;
┆
fun(s);
┆
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 【15】 。要求形参名为b。
main( )
double s[10][22];
int n;
fun(s);