填空题一个算法的空间复杂度是指该算法所耗费的 【2】 。
填空题给定程序中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下:
初始数列为:6 5 7 23 18 5 8 21 45 38
第1组数为:6 5 7中值为:6替换后的数列为:
6 6 7
23 18 5 8 21 45 38
第2组数为:5 7 23中值为:7替换后的数列为:6
6 7 23
18 5 8 21 45 38
第3组数为:7 23 18中值为:18替换后的数列为:6 6
7 18 18
5 8 21 45 38
第4组数为:23 18 5中值为:18替换后的数列为:6 6 7
18 18 5
8 21 45 38
第5组数为:18 5 8中值为:8替换后的数列为:6 6 7 18
18 8 8
21 45 38
第6组数为:5 8 21中值为:8替换后的数列为:6 6 7 18 18
8 8 21
45 38
第7组数为:8 21 45中值为:21替换后的数列为:6 6 7 18 18 8
8 21 45
38
第8组数为:21 45 38中值为:38替换后的数列为:6 6 7 18 18 8 8
21 38 38
最终结果为:6 6 7 18 18 8 8 21 38 38
请改正程序中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
int findmid(int a,int b,int c)
{int t;
t=(a>b)? (b>c? b:(a>c? c:a)):((a>c)?a:((b>c)?c:b));
/*********found*********/
return b;
}
void fun(int x[])
{int i,a,b,c,t[N];
/*********found*********/
for(i=0;i<N;i++)t[i]=x[i]
for(i=0;i<N-2;i++)
{a=t[i];b=t[i+1];c=t[i+2];
/*********found*********/
t[i+1]=findmid(a,b,c);
}
}
main()
{int i,x[N]={6,5,7,23,18,5,8,21,45,38};
for(i=0;i<N;i++)
printf("%d",x[i]);
printf("/n");
fun(x);
for(i=0;i<N;i++)
printf("%d",x[i]);
printf("/n");
}
填空题在以下程序运行时若从键盘输入:10 20 30<回车>,输出结果是______。 #include<stdio.h> main() int i=0, j=0, k=0; scanf("%d%*d%d", &i, &j, &k); printf("Gd%d%d/n", i, j, k);
填空题下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正程序中的错误或在下画线处填上正确的内容并把下画线删除,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
#define N 80
int fun(char*s,char*t)
{int n;
char *p,*r;
n=0;
/*********found*********/
*r=t;
while(*s)
{
p=s;
while(*r)
{
if(*r==*p)
{
r++;
p++;
}
else
break;
if(*r=="/0")
n++;
}
/*********found*********/
______;
s++;
}
return n;
}
void main()
{char a[N],b[N];int m;
printf("/nPlease enter string a:");
gets(a);
printf("/nPlease enter substring b:");
gets(b);
m=fun(a,b);
printf("/nThe result is:m=%d/n",m);
}
填空题有以下程序: #include <stdio.h> main() char a[20]="How are you?",b[20]; scallf("%s",b);printf("%s%s/n",a,b); 程序运行时从键盘输入:How are you?<回车>,则输出结果为______。
填空题函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
int c1, c2, c3;
void fun(long n)
{
c1=c2=c3=0;
while(n)
{
/**********found**********/
switch(______)
{
/**********found**********/
case 1:c1++; ______;
/**********found**********/
case 2:c2++; ______;
case 3:c3++;
}
n/=10;
}
}
main()
{
10ng n=123114350L;
fun(n);
printf("/nThe result:/n");
printf("n=%ld c1=%d c2=%d c3=%d/n", n, c1, c2, c3);
}
填空题以下程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并作为函数值返回。请填空: #include<stdio.h> #define N 3 typedef struct int num;char name[10];char sex;)SS; int fun(SS person[]) int i,n=0; for(i=0;i<N;i++) if(______='M')n++; return n; main() (SS W[N]=1,'AA','F',2,'BB','M',3,'CC','M';int n; n=fun(W);printf("n=%d/n",n);
填空题Windows的空口分为两类,一类是应用程序窗口,另一类是{{U}} 【2】 {{/U}}窗口。
填空题下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请填空。 # include<stdio. h> main() int i, j; for(i=0; i<10或i<=9; i++) j=i*10+6; if({{U}} {{/U}})continue; printf("% d", j);
填空题若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是 【14】 。 int w[10]=23,54,10,33,47,98,72,80,61, *p=w;
填空题有以下定义和语句,则sizeof(a) 的值是{{U}} 【13】 {{/U}},而sizeof(a.share)的值是{{U}} 【14】 {{/U}}。
struct datc
{ int day;
int mouth;
int year:
union {int share1;
float share2:
}share;
}a;
填空题若有以下程序: main() int a=4,b=3,c=5,t=0; if(a<b)t=a;a=b;b=t; if(a<c)t=a; a=c; c=t; printf("%d %d %d//n",a,b,c); 执行后的输出结果是{{U}} {{/U}}。
填空题请补充main函数,该函数的功能是:把一个整数插入到一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bb[N]=12,23,31,44,51,63,71,79,85,95中插入93,结果为: bb[N]11,21,31,41,51,61,7l,79,8l,93,95 注意:部分源程序给出如下. 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<std/o. h> #define N 10 main() int i,j; int n; int bb IN+l] = t2,23, 31, 44, 51, 63, 71, 79,85,95; clrscr (); printf("/nInput n /n"); scanf ("%d", printf ("/nn=%d ",n); printf("/n*** original list ***In"); for (i=0; i<N; i++) printf ("%4d ",bb [ii ); for (i=0; i<N; i++) if (n<=bb [i ] ) for(j=N; 【1】 ;j--) 【2】; bb [j] =n; 【3】; if (i=N) bb[i]=n; printf("/n***** new list ******In"); for (i=0;i<N+l; i++) printf ("%4d ",bb [i]);
填空题设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。 main() int findbig(int,int,int); int (*f) () ,x,y, z,big; f=______; scanf("%d%d%d", printf("big=%d/n",big);
填空题有以下程序 #include<stdio.h> main() int x; scanf("%d", &x); if(x>15) printf("%d", x-5); if(x>10) printf("%d", x); if(x>5) printf("%d/n", x+5); 若程序运行时从键盘输入12<回车>,则输出结果为______。
填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]…中,把奇数从数组中删除,偶数的个数通过函数值返回。
例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后,a所指数组中的数据为:4、2、6、8,返回值为4。
请在程序的下画线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#define N 9
int fun(int a[], int n)
{ int i,j;
j=0;
for(i=0; i<n; i++)
/**********found**********/
if(______==0) {
/**********found**********/
______ = a[i]; j++;
}
/**********found**********/
return ______ ;
}
main()
{ int b[N]={9,1,4,2,3,6,5,8,7},i,n;
printf("\nThe original data;\n");
for(i=0; i<N; i++)
printf("%4d",b[i]);
printf("\n");
n = fun(b,N);
printf("\nThe number of even:%d\n", n);
printf("\nThe even:\n");
for(i=0; i<n; i++)
printf("%4d", b[i]);
printf("\n");
}
填空题以下程序运行后的输出结果是{{U}} 【16】 {{/U}}。
fun(int a)
{ int b=0;static int c=3;
b++;c++;
return(a+b+c) ;
}
main()
{ int i,a=5;
for(i=0;i<3;i++)printf("%d%d",i,fun(a) );
prind("/n");
}
填空题有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 (8) 。 main() int a,b; printf(“Enter a,b:”);scanf(“%d,%d”,&a,&b); while(a!=b) (while(a>b) a-=b; while(b>a) b-=a; printf(“%3d%3d/n”,a,b);
填空题下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word_num(str) char str[]; int i,num=0,word=0; fo(i=0;str[i]!= 【15】 ;i++) if( 【16】 =='')word=0; else if(word==0) word=1; 【17】 ; return(num);
填空题请补充函数fun(),该函数的功能是;交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。
例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“33,67,42,58,25,76,16,85,41,56”。
注意;部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio. h>
#define N 10
void fun(int aa[])
{
int i, j, t;
int max=0, min=0;
for(i=0; i<N; i++)
{
if({{U}} 【1】 {{/U}})
max=i;
if({{U}} 【2】 {{/U}})
min=i;
}
t=aa [max];
{{U}} 【3】 {{/U}};
aa [min] =t;
}
main()
{
int i;
int aa [N] ={33, 67, 42,58,25, 76, 85,16, 41, 56};
clrscr ();
printf("/n*** original list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i] );
fun (aa);
printf ("/n*** new list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i]);
}