填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]...中,把偶数从数组中删除,奇数个数通过函数值返回。
例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后a所指数组中的数据为:9,1,3,5,7,返回值为5。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#defineN 9
int fun(int a[],int n)
{
int i,j;
j=0;
for(i=0;i<n;i++)
/*************found************/
if(a[i]%2==______)
{
/**************found************/
a[j]=a[i];______;
}
/***********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 odd:%d/n",n);
printf("/nThe odd number:/n");
for(i=0;i<n;i++)
printf("%4d",b[i]);
printf("/n");
}
填空题以下程序的功能是找出三个字符串中的最大串。 【8】 # include<stdio.h> main() int i; char string[20],str[3][20]; (i=0;i<3;i++)gets( 【9】 ); if(strcmp(str,str[0],str[1]>0)strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)> 【10】 )srtcpy(string,str[2]); printf("The largest string is/n%s/n",string);
填空题下面程序中函数creat用于建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。将程序补充完整。
#include<stdiao.h>
struct list
{char data; struct list * next;};
struct list * creat()
{
struct list *h,*p,*q; char ch;
h={{U}} 【18】 {{/U}}malloc(sizeof(struct list));
p=q=h;ch=getchar();
while(ch!='?')
{
p={{U}} 【19】 {{/U}}malloc(sizeof(struct list));
p->data=ch;q->next=p;q=p;ch=getchar();
}
p->next='/0';
{{U}} 【20】 {{/U}};
}
填空题以下程序运行后的输出结果是{{U}} 【7】 {{/U}}。
#include <stdio.h>
main()
{ char m;
m='B'+32;
printf("%c/n",m);
}
填空题以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空。
strcen(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)!={{U}} 【16】 {{/U}})num++;
while(b[n]){*(a+num)=b[n];num++;{{U}} 【17】 {{/U}};}
return(num);
}
填空题以下程序巾给指针p分配三个double型动态内存单元,请填空。 # include<stdio.h> main () dOuble *p; p=(double*)malloc( ); p[0]=1.5;p[1]=2.5;p[2]=3.5 printf("%f%f%f/n",p[0],p[1],p[2]);
填空题给定程序中函数fun的功能是:求s的值。例如,当k为10时,函数值应为:1.533852。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include<stdio.h>#include<math.h>/************found************/voidfun(intk){intn;doubles,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;}/************found************/returns}main(){printf("%f/n",fun(10));}
填空题定义如下变量和数组: int i; int x[3][3]=(1,2,3,4,5,6,7,8,9); 则下面语句的输出结果是 (12) 。 for(i=0;i<3;i++) printf(“%d”,X[i][2-i]);
填空题以下程序运行后的输出结果是 【15】 。 void fun() static int a=0; a+=2;printf("%d",A) ; main() int cc; for(cc=1;cc<4,cc++)fun(); printf("/n");
填空题下列给定程序中,函数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 N9 int fun(int a[],int n) int i,j; j=0; for(i=0;i<n;i++) /************found**********/ if(______==0) /************found*********/ ______=a[i];++; /*************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("inThe even:/n"); for(i=0;i<n;i++) printf("%4d",b[i]); printf("/n");
填空题请编写函数fun,该函数的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数的干位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如:当a=32,b=78。调用该函数后,c=3827。
#include <conio.h>
#include <Stdio.h>
void fun(int a,int b,{{U}} (1) {{/U}})
{
{{U}} (2) {{/U}};
}
main()
{ int a,b;long c;
clrscr();
printf("Input a,b:");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("The result is:%ld/n",c);
NONO();/*本函数与考生答题无关,考生不得改动,否则后果自负。*/
}
填空题程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
struct student{
long sno;
char name[10];
float score[3];
};
void fun(struet student a[],int n)
{
/*********found*********/
______t;
int i,j;
/*********found*********/
for(i=0;i<______;i++)
for(j=i+1;j<n;j++)
/*********found*********/
if(strcmp(______)>0)
{t=a[i];a[i]=a[j];a[j]=t;)
}
main()
{struet student s[4]={{1001,"ZhangSan",95,80,88},{10002,"LiSi",85,70,78},
{10003,"CaoKai",75,60,88},
{10004,"FangFang",90,82,87}};
int i,j;
printf("/n/nThe original data:/n/n");
for(j=0;j<4;j++)
{printf("/nNo:%ld Name:%-8s Scores:",s[j].sno,s[j].name);
for(i=0;j<3;i++)
printf("%6.2f",s[j].score[i]);
printf("/n");
}
fun(s,4);
printf("/n/nThe data after sorting:/n/n");
for(i=0;j<4;j++)
{printf("/nNo:%ld Name:%-8s Scores:",s[j].sno,s[j].name);
for(i=0;i<3;i++)
printf("%6.2f",s[j].score[i]);
printf("/n");
}
}
填空题以下程序的运行结果是______。 #include <stdio.h> main( ) FILE *fp;int a[10]=1,2,3,0,0,i; fp=fopen("d2.dat","wb"); fwtite(a,sizeof(int) ,5,fp); fwrite(a,sizeof(int) ,5,fp); fclose(fp); fp=fopen("d2.dat","rb"); fread(a,sizeof(int) ,10,fp); fclose(fp); for(i=0;i<10;i++)printf("%d",a[i]);
填空题以下程序输出矩阵中值为。的元素的行下标和列下标。行下标和列下标分别放在同一下标的r和c数组元素中。程序通过调用随机函数给矩阵赋值。 #define N 5 #include <stdlib.h> main() int a[N][N],i,j,c[N*N],r[N*N],n; for(i=0,i<N;i++) for(j=0;j<N;j++)a[i][j]=rand()%5; n=gindex( 【13】 ); printf("/n/nThe result:/nn=%d/n",n); for(i=0;i<n;i++)printf("%4d%4d/n",r[i],c[i]); int gindex(int(*p)[N],int *c,int *r) int i,j,k; 【14】 ; for(i=0;i<N,i++) for(j=0;j<N;j++) if( 【15】 ==0) r[k]=i;c[k]=j; 【16】 ; return 【17】 ;
填空题仅依据规格说明书描述的程序功能来设计测试实例的方法称为{{U}} 【4】 {{/U}}。
填空题执行下列语句段后,x的值是______。 int *p,x; x=100; p=&x; x=*p+50;
填空题阅读下面程序,则执行后的输出结果是{{U}} 【7】 {{/U}}。
#include"stdio.h"
main()
{ int x,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d/n",z);}
填空题给定程序中,函数fun的功能是计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000。主函数中输出m=30。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include <stdlib.h>
#include <stdio.h>
#define N 10
double fun(double x[],double*av)
{ int i,j;double d,s;
s=0;
for(i=0;i<N;i++)s=s+x[i];
/***********found*********/
______=s/N;
d=32767;
for(i=0;i<N;j++)
if(x[i]<*avj=______;}
/*********found********/
return______;
}
main()
{ int i;
double x[N]={46,30,32,40,6,17,45,15,48,26};
double av,m;
for(i=0;i<N;i++)printf("%4.0f",x[i]);
printf("/n");
m=fun(x,
printf("/nThe average is:%f/n",av);
printf("m=%5.0f",m);
printf("/n");
}
填空题下面程序的功能是输出数组中最大的数,由a指针指向该元素。请填空。
main()
{ int s[]={6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;
for({{U}} 【7】 {{/U}})
if(*a<*b) a=b;
printf("%d",*a);
}
填空题实型变量的类型说明符有:__________、____________。