填空题请补充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==NULL) printf("The list is NULL!/n"); else printf("/nHead "); do printf("->%d", p->data); p=p->next; while(p!=NULL); printf("->End/n"); main() NODE *head; int a[N]=(2, 4, 6, 8, 10); head=creatlist(a); printf('/nThe original list:/n"); outlist(head); fun(head); printf("/nThe list after inverting :/n"); outlist(head);
填空题以下程序运行后的输出结果{{U}} 【17】 {{/U}}。
struct NODE
{int k;
struct NODE *link;
};
main()
{structNODEm[5],*p=m,*q=m+4;
int i=0;
while(p!=q){
p->k=++i;p++;
q->k=i++;q-;
}
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("/n");
}
填空题下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list int data; struct list *next; SLIST; SLIST *creatlist(int *a); void outlist(SLIST *); void fun(SLIST *h, int *n) SLIST *p; /******************found*******************/ (1) =0; p=h->next; while(p) (*n)++; /******************found*******************/ p=p-> (2) ; main() SLIST *head; int a[N]=12, 87, 45, 32, 91, 16, 20, 48, num; head=creatlist(a); outlist(head); /******************found*******************/ fun( (3) , &num); printf("/nnumber=%d/n", num); SLIST *creatlist(int a[]) SLIST *h, *p, *q; int i; h=p=(SLIST *)malloc(sizeof(SUST)); for(i=0; i<N; i++) q=(SLIST *)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; p->next=0; return h; void outlist(SLIST *h) SLIST *p; p=h->next; if (p==NULL) printf("The list is NULL!/n"); else printf("/nHead"); do printf("->%d", p->data); p=p->next; while(p!=NULL); printf("->End/n");
填空题请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。
例如,输入:-3847652,结果为:3847652。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
main()
{
long int n;
clrscr();
printf("Enter the data;/n");
scanf({{U}} 【1】 {{/U}});
printf("*** the absolute value ***/n");
if(n<0)
{{U}} 【2】 {{/U}}
printf("/n/n");
printf({{U}} 【3】 {{/U}});
}
填空题设顺序输入数列为:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每个结点的查找概率相同,若用顺序存储方式组织该数列,则查找一个数成功的平均比较次数为{{U}} 【2】 {{/U}};若按二叉排序树结构组织该数列,则查找一个数成功的平均比较次数为{{U}} 【3】 {{/U}}。
填空题在最坏情况下,冒泡排序所需要的比较次数为{{U}} 【1】 {{/U}}。
填空题以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。 #include <stdio, h> main( ) int i, a [20], sum, count; sum = count = 0 ; for(i=0;i<20;i++)scanf("%d", 【18】 ); for(i=0;i<20;i ++) if(a[i] >0) count + +; sum+ = 【19】 ; prinff( "sum = % d, count = % d / n", sum, count );
填空题若有如下程序: #include"stdio.h" main() char s[30]; strcpy(&s[0],"abc"); strcpy(&s[1],"de"); strcpy(&s[2],"f"); printf("%s/n",s); 则程序运行后的输出结果是 【7】 。
填空题下列给定程序中,函数fun()的功能是:判断一个整数m是否是素数,若是返回l,否则返回0。在main()函数中,若fun()返回1则输出YES,若fun()返回0则输出NO! 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构. 试题程序: #include <conio.h> #include <stdio.h> int fun(int m) int k=2; while (k<=m&&(m%k)) /*************found*********************/ k++ /*************found*********************/ if(m=k) return 1; else return O; main ( ) iht n; clrscr (); printf("/nPlease enter n: "); scanf ("%d", if (fun (n)) printf ("YES/n"); else printf ("NO! /n");
填空题有以下程序:
prt(int *m,int n)
{ int i;
for(i=0;i<n;i++)m[i]++;
}
main()
{ int a[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)printf("%d,",a[i];
}
程序运行后的输出结果是{{U}} 【12】 {{/U}}。
填空题表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的值是______。
填空题数据库设计分为以下六个设计阶段:需求分析阶段、 【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
填空题函数fun的功能是计算xn double fun(double x,int n) int i; double y=1; for(i=1;i<=n;i++) y=y*x; return y; 主函数中已正确定义m、a、b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调节器用语句为______。
填空题数据库管理系统是位于用户与 【5】 之间的软件系统。
填空题填空补充以下程序。
# define{{U}} 【11】 {{/U}}30
{ {{U}} 【12】 {{/U}};
total=num PRICE;
printf("total=%d,num=%d/n",{{U}} 【13】 {{/U}});
}
填空题下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch; Ch=getchar( );
While( __________________ )
{ if ( ________________ ) n++; c=getchar( ); }
填空题以下程序用以删除字符串中所有的空格,请填空。 #include <stdio.h> main() char s[100]="our teacher teach c language!";int i,j; for(i=j=0;s[i]!='/0';i++) if(s[i]! ='')s[j]=s[i];j++; s[j]=______; printf("%s/n",s);
填空题数据库的设计通常可以分为这样四个步骤:需求分析、概念设计、______ 、和物理设计。