填空题若有语句“doube x=17;int y;”,当执行“y=(int)(x/5)%2;”之后y的值为______。
填空题请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
int fun(int n)
{
int flag=0;
if (n%4=0)
{
if ({{U}} 【1】 {{/U}})
flag=1;
}
if ({{U}} 【2】 {{/U}})
flag=1;
return{{U}} 【3】 {{/U}};
}
main()
{
int year;
clrscr();
printf("Input the year:");
scanf("%d",
if (fun(year))
printf("%d is a leap year. /n", year);
else
printf("%d is not a leap year./n",
year);
}
填空题请补充函数proc(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:1 1 2 2 2 3 4 4 5 5 6 6 6 7 7 8 10 10。
删除后,数组中的内容应该是:1 2 3 4 5 6 7 8 10。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define M 80
int proc(int arr[], int n)
{
int i, t, j=0;
t=arr[0];
for(i=1; i<n; i++)
if(______)
;
else
{
______;
t=arr[i];
}
arr[j++]=t;
return j;
}
void main()
{
int arr[M]={1, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 10, 10}, i, n=18;
printf("The original data: /n");
for(i=0; i<n; i++)
printf("%4d", arr[i]);
n=proc(arr, n);
printf("/n/nThe data after deleted; /n");
for(i=0; i<n; i++)
printf("%4d", arr[i]);
printf("/n");
}
填空题若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为{{U}} 【6】 {{/U}}。
填空题表达式3.5+1/2的计算结果是______。
填空题给定程序中,函数fun的功能是将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数27638496,函数返回值为26846。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
unsigned long fun(unsigned long n)
{ unsigned long x=0,s,i;int t;
s=n;
/************found***********/
i=______;
/*************found************/
while(______)
{ t=s%10;
if(t%2==0){
/*************found**********/
x=x+t*i;i=______;
}
s=s/10;
}
return x;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0<n<100000000):");
scanf("%ld",}
printf("/nThe result is:%ld/n",fun(n));
}
填空题若从键盘输入58,则以下程序输出的结果是 【7】 。 main() int a; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a);
填空题媒体在计算机领域中的含义,是指存储信息的实体和 【4】 。
填空题给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。 例如,当score=(10,20,30,40,50,60,70,80,90),m=9时,函数返回的人数应该是4,below=10,20,30,40)。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<string.h> int fun(int score[],int m,int below[]) int i,j=0; float aver=0.0: for(i=0;i<m;i++) aver+=score[i]: aver/=(float)m; n=fun(score,9, (2) ); printf("/n Below the average score are:%d/n",n); for(i=0;i<n;i++) for(i=0;i<m;i++) if(score[i]~aver) below[j++]= (1) ; return j; void main() int i,n,below[9]; int score[9]=10,20,30,40,50,60,70,80,90); printf("%d", (3) );
填空题以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是 【6】 。 #include <stdio.h> main() int i=0,j=0,k=0; scanf("%d%*d%d",
填空题函数voidfun(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于或等于0。请填空。voidfun(float*sn,intn)floats=0.0,w,f=-1.0;inti;for(i=0;i<=n;i++)f=【13】*f;w=f/(2*i+1);s+=w;【14】=s;
填空题下面程序的功能是将一个字符串str的内容倒序。请填空。 #include<string.h> main( ) int i,j, (14) ; char str[]="1234567"; for(i=0,j=strlen(str) (15) ;i<j;i++,j--)k=str[i];str[i]=str[j];str[j]=k; printf("%s/n", str):
填空题请补充main函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组bb中。
例如,当scorer[N][M]={{83.5,82,86,65,67),{80,91.5,84, 99,95){90.5,95,86,95,97}}时,三个学生的平均分为76.7 89.9 92.7。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若千表达式或语句。
试题程序:
#include<stdio.h>
#define N 3
#define M 5
main()
{
int i,j;
static float score[N][M]={{83.5,82,86,
65,67},{80,91.5,84,99,95},{90.5,95,
86,95,97}};
float bb[N];
clrscr();
for(i=0;i<N;i++)
{{U}}【1】{{/U}};
for(i=0;i<N;i++)
{
for (j=0; j<M; j++)
{{U}}【2】{{/U}};
bb [i]/=M;
}
for (i=0; i<N; i++)
print f (" knstudent %d/t average
=%5.1f",i+l,bb[i]);
}
填空题以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 # define M 2 # define N 4 void SumColumMin(int a[M][N], int *sum) int i, j, k, s=0; for(i=0; i<N; i++) k=0; for(j=1; j<M; j++) if(a[k][i]>a[j][i])k=j; s+=a[k][i]; *sum=s; main() int x[M][N]=3, 2, 5, 1, 4, 1, 8, 3, s; SumColumMin( 【11】 );printf("% d/n" , s);
填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#define N 5
typedef struct student{
long sno;
char name[10];
float score[3];
}STU;
void fun(char*filename)
{FILE*fp; int i,j;
STU s[N],t;
/**********found**********/
fp=fopen(filename,______);
fread(s,sizeof(STU),N,fp);
fclose(fp);
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
/**********found**********/
if(s[i].sno______s[j].sno)
{t=s[i];s[i]=s[j];s[j]=t;}
fp=fopen(filename,"wb");
/**********found**********/
______(s,sizeof(STU),N,fp);/*二进制输出*/
fclose(fp);
}
main()
{STU t[N]={{10005,"ZhangSan",95,80,88},
{10003,"LiSi",85,70,78},
{10002,"CaoKai",75,60,88},
{10004,"FangFang",90,82,87},
{10001,"MaChao",91,92,77}},ss[N];
int i,j; FILE*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
printf("/n/nThe original data:/n/n");
for(j=0;j<N;j++)
{printf("/nNo:%ld Name:%-8s Scores:",t[j].sno,t[j]name);
for(i=0;i<3;i++)
printf("%6.2f",t[j].score[i]);
printf("/n");
}
fun("student.dat");
printf("/n/nThe data after sorting:/n/n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(i=0;j<N;j++)
{printf("/nNo:%ld Name:%-8s Scores:",ss[j].sno,ss[j].name);
for(i=0;i<3;i++)
printf("%6.2f",ss[j].score[i]);
printf("/n");
}
}
填空题希尔排序法属于{{U}} {{U}} {{/U}} {{/U}}排序法。
填空题若有以下定义,请写出以下程序段中输出语句执行后的输出结果______。
int i=-200, j=2500;
printf("(1)%d, %d", i, j);
printf("(2)i=%d, j=%d/n", i, j);
printf("(3)i=%d/nj=%d/n", i, j);
填空题若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是 【12】 。 int a[10]=19,23,44,17,37,28,49,36,*p; p=a;
填空题两种基本测试方法中,______测试的原因之一是保证所测试模块中每一个独立路径至少要执行一次。
填空题表示“整数x的平方大于36"时的值为“真”的C语言逻辑表达式是{{U}} 【6】 {{/U}}。
