填空题下面程序的功能是输出如图所示的矩阵。请把程序补充完整。intmain(){inti,j;for(i=1;i<6;i++){for(j=1;j<6;j++)if(________)printf("%3d",0);elseprintf("%3d",________);printf("/n");}return0;}
填空题有以下程序: #include<stclio.h> main() char c; while((c=getchar())!='?')putchar(--c); 程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为 【10】 。
填空题以下程序运行后的输出结果是【 】。
main( )
{ int a=1,b=3,c=5;
if (c=a+b) printf("yes/n");
else printf("no/n");
}
填空题以下程序运行的结果是______。 #define MAX(a,b)(a>b?a:b)+1 main( ) int i=6,j=8,k; printf("%d/n",MAX(i,j));
填空题以下程序运行后的输出结果是{{U}} 【7】 {{/U}}。
main()
{int a=1,b=2,c=3;
if(c=a) ,printf("%d/n",c) ;
else printf("%d/n",b) ;
}
填空题以下程序的运行结果是 【7】 。 #define MAX(a,b)(a>b?a:b)+1 main() int i=6,j=8,k; printf("%d/n",MAX(i,j));
填空题有以下说明定义和语句,可用a.day引用结构体成员day,写出引用结构体成员day的其他两种形式{{U}} 【16】 {{/U}}、{{U}} 【17】 {{/U}}。
struct{ int day;char mouth;int year;}a,*b;b=&a;
填空题下列给定程序中,函数fun()的功能是:如果参数是大写字母则转换为对应的小写字母,如果是小写字母则转换为对应的大写字母,其他字符则返回字符#,请在标号处填入正确的内容,使程序得出正确的结果。
试题程序 char fun(char
c) { if ______ c=c-32; else
if ______ c=c+32; ______
c='#'; return c; }
填空题在具有n个单元、顺序存储的循环队列中,队满时,共有{{U}} 【1】 {{/U}}个元素。
填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
#define N 5
#define M 10
int fun(char(*ss)[M],int k)
{int i,j=0,len;
/**********found**********/
for(i=0;k______;i++)
{len=strlen(ss[i]);
/**********found**********/
if(len<=______)
/**********found**********/
strcpy(ss[j++],______);
}
return j;
}
main()
{char x[N][M]{"Beijing","Shanghai","Tianjing","Nanjing","Wuhan");
int i,f;
printf("/nThe original string/n/n");
for(i=0;i<N;i++)puts(x[i]);printf("/n");
f=fun(x,7);
printf("The string witch length is less than orequal to 7:/n");
for(i=0;i<f;i++)puts(x[i]);printf("/n");
}
填空题以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算: y1=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空。 double fun(double x){return(x*x-2*x+6);} {double x,y1,y2; printf("Enter x:");scanf("%lf",&x); y1=fun({{U}} [6] {{/U}}); y2=fun({{U}} [7] {{/U}}); printf("y1=%lf,y2=%lf/n",y1,y2);
填空题请补充函数fun(),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。 例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #define N 10 void fun (int aa [] ) int i, j=0,k=0; int bb [N]; for (i=0;i<N; i++) if ( 【1】 ) bb [k++] =aa [i]; else aa [ j ++ ] =aa [i]; for(i=0; 【2】 ;i++,j++) aa[j] =bb [i]; 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] );
填空题汇编程序和编译程序翻译的目标程序需经 【5】 连接成可执行的程序。
填空题以下程序中函数fun的功能是:构成一个如图所示的带头节点的单向链表,在节点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有节点中的字符串。请填空完成函数disp。#include<stdio.h>typedefstructnode/*链表节点结构*/charsub[3];structnode*next;Node;Nodefun(chars)/*建立链表*/…voiddisp(Node*h)Node*p;p=h->next;while______printf("%s/n",p->sub);p=p->next;main()Node*hd;hd=fun();disp(hd);printf("/n");
填空题给定程序中,函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000。
移动后的输出为30 6 17 15 26 46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double*x)
{ int i,j;double av,y[N];
av=0;
/***********found***************/
for(i=0;i<N;i++)av+=______;
for(i=j=0;i<N;i++)
if(x[i]<av){
/***********found*************/
y[j]=x[i];x[i]=-1;______;}
i=0;
while(i<N)
{ if(x[i]!=-1)y[j++]=x[i];
/**********found*******/
______;
}
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");
}
填空题以下函数用来求出两整数之和,并通过形参将结果传回,请填空。
void func(int x,int y,{{U}} 【13】 {{/U}}z)
{ *z=x+y; }
填空题下面程序的运行结果是:【 】
int f( int a[ ], int n)
{ if(n>1) return a[0]+f(
else return a[0];}
main ( )
{ int aa[3]={1,2,3},s;
s=f( ; printf(“%d/n”,s);}
填空题设有定义:
int n, * k=
以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。
scanf("% d", ______);
printf("% d/n", ______);
填空题下列给定程序中,函数fun()的功能是:将m(1≤m≤10)个字符串反着连接起来,组成一个新串,放入pt所指字符串中,例如:把3个串DEG,ac,df反着串联起来,结果是dfacDEG。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或者删行,也不得改变程序的结构! 试题程序: #include <conio.h> #include <string.h> #include <stdio.h> void fun(char str[][10],int m,char *pt) int k,q,i,j=0; /*************found*************/ for(k=m;k>0;k--) q=strlen(str[k]); j+=q; for(i=0;i<q;i++) pt[i]=str[k][i]; pt+=q; pt[0]=0; /*************found**************/ pt=j; main() int m,h; char s[10][10],p[120]; clrscr(); printf("/nPlease enter m:"); scanf("%d",& m); printf("/nPlease enter%d string:/n",m); gets(s[0]); for(h=0;h<m;h++) gets(s[h]); fun(s,m,p); printf("/nThe result is:%s/n",p);
填空题给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:asd123fgh543df,处理后新字符串为:123543asdfghdf。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
char*fun(char*s)
{int i,j,k,n;char *p,*t;
n=strlen(s)+1;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0;k=0;
for(i=0;i<n;i++)
{if(isdigit(s[i])){
/*********found*********/
p[______]=s[i];j++;}
else
{t[k]=s[i];k++;}
}
/*********found*********/
for(i=0;i
p[j+i]=t[i]; p[j+k]=0; /*********found*********/ return ______; } main() {char s[80]; printf("Please input:"); scanf("%s",s); printf("/nThe result is:%s/n",fun(s)); } (1)j (2)k (3)p或(p)[解析] 填空1:函数中申请了两个内存空间,其中p存放数字字符串,t存放非数字字符串,根据条件可知,p依次存放数字字符串,其位置由j来控制,所以应填j。 填空2:利用for循环再把t中的内容依次追加到p中,其中t的长度为k,所以应填k。 填空3:处理之后的字符串存放到p中,最后返回p的首地址即可,所以应填p。