填空题在先左后右的原贝吓,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、 【1】 遍历和后序遍历。
填空题下列给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#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;
/********found********/
p=h->______;
/********found********/
if(p==______)return;
q=p->next;
p->next=NULL;
while(q)
{r=q->next;q->next=p;
/********found********/
p=q;q=______;
}
h->next=p;
}
NODE *creatlist(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 outlist(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);
}
填空题下面程序的输出是 【9】 。 main() enum emem1=3,em2=1,em3; char*aa[]="AA"m,"BB","CC:,"DD"; printf("%s%s%s/n,aa[em1],aa[em2],aa[em3]);
填空题mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char*str) int i; for(i=0;______!='/0';i++); return(i);
填空题以下程序运行后的输出结果是 [9] 。 main() int a,b,c; a=10;b=20;c=(a%b<1)||(a/b>1); printf("%d%d%d/n",a,b,c);
填空题若有定义:int a=2, b=2, c=2; ,则语句++a||++b&&++c;运行后b的值为______。
填空题下面invert函数的功能是将一个字符串str的内容颠倒过来,请填空。 #include<string.h> void invert(char str[]) int i,j,______; for(i=0,j=strlen(str)______;i<j;i++,j--) k=str[i];str[i]=str[j];str[j]=k;
填空题以下程序运行后的输出结果是 【14】 。 main() char a[]="Language", b[]="Programe"; char * p1, * p2; int k; p1=a; p2=b; for(k=0; k<=7; k++) if(*(p1+k)==*(p2+k))printf("%c", *(p1+k));
填空题下面程序的功能是求1!+2!+3!+…+9!,请把程序补充完整。
#include<stdio.h>
float fracsum(int n) /*求n!*/
{
if(n==1)
return(1); /*递归结束条件,当n=1时,n!=1*/
else
return(n*______); /*递归调用*/
}
int main()
{
int i=1;
float int, sum;
sum=______;
while(i<=9)
{
sum+=______;
i++;
}
printf("%.of/n", sum);
return 0;
}
填空题若有如下程序: main() int x=20; if(x>10)printf("%d",x-=5); if(x>15)printf("%d",x); 则程序运行后的输出结果是______。
填空题若有以下程序 main() char a; a='H'-'A'+'0'; printf("%c/n",a); 执行后输出的结果是______。
填空题下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。 2/1,3/2,5/3,8/5,13/8,21/13,… 其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 [试题源程序] #include<stdio.h> #include<conio.h> double fun(int n) int a=2, b=1, c, k; double[ (1) ]; for(k=1; k<=n; k++) s=s+1.0 *a/b; c=a; a+=[ (2) ]; b=c; return(d); main() int n=5; printf("/nThe value of function is: %1f/n", [ (3) ]);
填空题设有下列宏定义:
#define A2
#define B(A+3)
则执行赋值语句"k=B*20;"(k为int型变量)后,k的值是______。
填空题软件开发环境是全面支持软件开发全过程的______的集合。
填空题数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是 【4】
填空题定义char ch="$";int i=1,j;执行j=!ch&&i++以后,i的值为______。
填空题
给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为:7654321时,t中的数为:642。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
/**********found**********/
void fun(long s, long t)
{long sl=10;
s/=10;
*t=s%10;
/**********found**********/
while(s<0)
{ s=s/100;
*t=s%10*sl+*t;
sl=sl*10;
}
}
main()
{long s, t;
printf("/nPlease enter s:"); scand("%ld",
fun(s,
printf("The result is:%ld/n", t);
}
填空题以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。
#include <string.h>
void sstrcat(char *s,char *t)
{int n;
n=strlen(s);
while(*(s+n)=【 】{s++;t++;}
}
填空题软件是由两部分组成的,一部分是______,另一部分是文档资料。
填空题若有定义语句char s[100],d[100];int j=0,i==0;且s中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式)
while(s[i]={{U}} {{U}} {{/U}} {{/U}};j++;}
d[j]=0;
