填空题数据的逻辑结构在计算机存储空间中的存放形式称为数据的{{U}} {{/U}}。
填空题下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其他元素不变,请填空。 #include<stdio.h> main() char a[]="labchmfye",t: int 1,j; for(i=0; i<7; i+=2) for(j=i+2; j<9; 【12】 ) if( 【13】 ) t=a[i]; a[i]=a[j]; a[j]=t; j++; puts(a) ;printf("/n");
填空题请补充main()函数,该函数的功能是:输出一个44的矩阵,要求必须使用行指针表示输出变量。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
void main()
{
static int art[4][4]={{9, 8, 7, 6},
{6, 5, 4, 3},
{3, 2, 1, 0},
{2, 4, 6, 8}};
int(*p)[4], j, i;
p=______;
system("CLS");
for(i=0; i<4; i++)
{
printf("/n/n");
for(j=0; j<4; j++)
printf("%4d", ______);
}
}
填空题函数调用语句:“fgets(buf,n,fp);”从fp指向的文件中读入,n个字符放到buf字符数组中,函数返回值为______。
填空题有以下程序: main() int a[3][3],*p,i; p= for(i=0;i<9;i++)p[i]=i+1; printf("%d/n",a[1][2]); 程序运行后的输出结果是 【9】 。
填空题以下程序运行后的输出结果是 【15】 。 int a=5; fun (int b) static int a=10; a+=b++; printf("%d ",a); main() int c=20; fun(c); a+=c++; Printf("%d/n",a);
填空题以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
voidf(int x[],int n)
{int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m<n;m++)
{if(x[m]>i {i=x[m];p0=m;}
else if(x[m]<j {j=x[m];p1:m;}
}
t=x[p0];x[p0]=x[n-1];x[n-1)=t
t=x[p1];x[p1]={{U}} [12] {{/U}};{{U}} [13] {{/U}}=t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("/n");
}
填空题下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list *next;
}SLIST;
void fun(SLIST *p)
{SLIST *t, *s;
t=p->next; s=p;
while(t->next!=NULL)
{s=t;
/**********found**********/
t=t->______;
}
/**********found**********/
printf("%d", ______);
s->next=NULL;
/**********found**********/
free(______);
}
SLIST *creatlist(int *a)
{SLIST *h, *p, *q;
int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
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("/nThe list is NULL!/n");
else
(printf("/nHead");
do{printf("->%d", p->data);
p=p->next;
}while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST *head;
int a[N]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nOutput from head:/n");
outlist(head);
printf("/nOutput from tail:/n");
while(head->next!=NULL){
fun(head);
printf("/n/n");
printf("/nOutput from head again:/n");
outlist(head);
}
}
填空题下列给定程序中,函数fun()的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数, j的值代表白球数,k的值代表黑球数。 请改正程序中的错误,使它能得出正确的结果。 注童:不要改动main 函数,不得增行或删行,也不得更改程序的蛄构。 试题程序: #include <stdio. h> int fun () int i,j,k, sum=0; printf ("/nThe result : /n/n "); /**************found***************/ for (i=0; i<=3; i++) for (j=1;j k=8-i-j; /**************found ******************/ if (k>=1 printf ("red: %4d white: %4d black: %4d/n ", i, j, k); ) return sum; main () int sum; sum=fun (); printf ("sum=%4d/n/n ", sum);
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。
移动后的输出为:46、32、40、45、48、30、6、17、15、26。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double * x)
{int i, j; double s,av,y[N];
s=0;
for(i=0;i<N;i++)s=s+x[i];
/*********found*********/
av=______;
for(i=j=0;i<N;i++)
if(x[i]>av){
/*********found*********/
y[______]=x[i];
x[i]=-1;}
for(i=0;i<N;i++)
/*********found*********/
if(x[i]!=______)y[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return av;
}
main()
{int i;double x[N];
for(i=0;i<N;i++)
{x[i]=rand()%50;
printf("%4.0f",x[i]);}
printf("/n");
printf("/nThe average is:%f/n",fun(x));
printf("/nThe result:/n",fun(x));
for(i=0;i<N;i++)
printf("%5.0f",x[i]);
printf("/n");
}
填空题下面程序的运行结果是{{U}} 【13】 {{/U}}。
#include<stdio.h>
#define SIZE 12
main()
{ char s[SIZE];int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++) printf("%c",s[i]);
printf("/n");}
sub(char *a,int t1,int t2)
{ char ch;
while(t1<t1)
{ ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;} }
填空题数据管理技术的发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【4】 。
填空题语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 【7】 。
填空题以下程序的输出结果是______。
#include<stdio.h>
int fun(int n, int*s)
{ int f1, f2;
if(n==1‖n==2)*s=1;
else
{ fun(n-1, fun(n-2, *s=f1+f2; }
}
main()
{ int x;
fun(6, printf("%d/n", x);
}
填空题设有以下定义和语句: int a[3][2]=1,2,3,4,5,*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是 【14】 。
填空题下列程序的输出结果是16.00,请填空。 #include <stdio.h> main() int a=9, b=2; float x= 【12】 ,y=1.1,z; z=a/2+b*x/y+1/2; printf("%5.2f/n",z);
填空题下面程序执行后输出的结果是 【8】 。 int m=13; int fun(int x,int y) int m+3; return(x*y-m); main() int a=7,b,5; prntf("%d/n",fun(a,B) /m);
填空题设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,语句分别给a和b输入1和2,则正确的数据输入内容是( )。
填空题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next;
}SLIS T;
void fun(SLIST*P)
{SLIST*t,*s;
t=P->next;s=p;
while(t->next!=NULL)
{s=t;
/**********found**********/
t=t->______;
}
/**********found**********/
printf("%d",______);
s->next=NULL;
/**********found**********/
free(______);
}
SLIST*creatlist(int*a)
{SLIST*h*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
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("/nThe list is NULL!/n");
else
{printf("/nHead");
do {printf("->%df",P->data);p=p->next;)
while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST*head;
int a[y]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nOutput from head:/n");outlist(head);
printf("/nOutput from tail:/n");
while(head->next!=NULL){
fun(head);
printf("/n/n");
printf("/nOutput from head again :/n");
outlist(head);
}
}
填空题以下程序的输出结果是{{U}} 【14】 {{/U}}。
void reverse(int a[],int n)
{ int i,t;
for(i=0;i<n/2;i++)
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d/n",s);
}
