填空题请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> int fun(int n) int flag=0; if (n%4=0) if ( 【1】 ) flag=1; if ( 【2】 ) flag=1; return 【3】 ; 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);
填空题模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中______的作用是模拟被测试模块的下层模块。
填空题有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,______ ,成绩)。
填空题给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,……依此类推。例如,若N=5,生成的矩阵为:请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#inclucle<stdio.h>#defineN7/*********found*********/voidfun(int(*a)________){inti,j,k,m;if(N%2==0)m=N/2;elsem=N/2+1;for(i=0;i<m;i++){/*********found*********/for(j=________;j<N-i;j++)a[i][j]=a[N-i-1][j]=i+1;for(k=i+1;k<N-i;k++)/*********found*********/a[k][i]=a[k][N-i-1]=________;}}main(){intx[N][N]={0},i,j;fun(x);printf("/nTheresultis:/n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("/n");}}
填空题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> #defineN 5 #defineM 8 int fun(char(*ss)[M],char*t) int i; /***************found**************/ for(i=0;i______;i++) /***********found****************/ if(strcmp(ss[i],t)==0) return ______; return(-1); main() char ch[N][M]="if","while","switch","int","for",t[M]; int n,i; pfintf("/nThe original string/n/n"); for(i=0;i<N;i++)puts(ch[i]); printf("/n"); wintf("/nEnter a string for search:"); gets(t); n=fun(ch,t); /***********found*****************/ if(n==______) printf("/nDon't found!/n"); else printf("/nThe position is%d./n",n);
填空题有以下程序: main() inf a[3][3],*p,i; P=&a[0][0]; for(i=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf("%d¨,a[1][i]); 程序运行后的输出结果是______。
填空题以下程序运行后的输出结果是______。 #include<stdio.h> int *f(int *p, int *q); main() int m=1, n=2, *r= r=f(r, printf("%d/n", *r); int *f(int *p, int *q) return( *p>*q) ? p:q;
填空题有以下程序:
main()
{ int t=1, i=5;
for(; i>=0; i--)t*=i;
printf("% d/n", t);
}
执行后的输出结果是{{U}} 【5】 {{/U}}。
填空题下列给定程序中,函数fun()的功能是:将自然数1~10及其平方根写到名为myfile3.txt的文本文件中,然后再按顺序读出显示在屏幕上。
请在程序标号处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序 #include
<math.h> #include <stdio.h> int fun(char
*fname) { FILE *fp; int i, n; float x;
if((fp=fopen(fname, "w"))==NULL) return 0;
for(i=1; i<=10; i++) fprintf(______, "% d % f/n", i,
sqrt((double)i)); printf("/nSucceed! ! /n");
______; printf("/nThe data in file:/n");
if((fp=fopen (______, "r"))==NULL) return 0;
fscanf(fp, "% d% f",
while(!feof(fp)) { printf("% d % f/n", n, x);
fscanf(fp, "% d% f", }
fclose(fp); return 1; }
main() { char fname[]="myfile3.txt";
fun(fname); }
填空题给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
#include<stdlib.h>
#defineN 5
typedef struct
{int num;
char name[10];
char tel[10];
}STYPE;
void check();
/**********foun**********/
int fun(______*std)
{
/**********found**********/
______*fp;int i;
if((fp=fopen("myfile5.dat","wb"))==NULL)
return(0);
printf("/nOutput data to file!/n");
for(i=0;i<N;i++)
/**********foun**********/
fwrite(
fclose(fp);
return(1);
}
main()
{STYPE s[10]={{1,"aaaaa","111111"),{1,"bbbbb",
"222222"},{1,"ccccc","333333"),{1,"ddddd",
"444444"},{1,"eeeee","555555"));
int k;
k=fun(s);
if(k==1)
{printf("Succeed!");check();}
else
printf("Fail!");
}
void check()
{FILE*fp;int i;
STYPE s[10];
if((fp=fopen("myfile5.dat","rb"))==NULL)
{printf("Fail!!/n");exit(0);}
printf("/nRead file and output to screen:/n");
printf("/n num name tel/n");
for(i=0;i<N;i++)
{fread(
printf("%6d %s %s/n",s[i].num,s[i].name,
s[i].tel);
}
fclose(fp);
}
填空题以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。
main( )
{ int i,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++) scanf("%d",{{U}} 【16】 {{/U}} );
fro(i=0;i<20;i++)
{ if(a>0)
{ count++;
sum+={{U}} 【17】 {{/U}} ;
}
}
printf("sum=%d,count=%d/n",sum,count);
}
填空题下面程序的输出结果是 【7】 。#define MAX 3int a[MAX];main () fun1();fun2(a);printf("/n");fun1() int k,t=0; for (k=0;k<MAX;k++,t++) a[k]=t+t;fun2(int b[]) int k; for (k=0;k<MAX;k++) printf("%d",*(b+k));
填空题下列程序将二维数组a的行和列元素互换后存放到另一个二维数组b中。请填空。main() int a[2][3]=1,2,3),4,5,b[3][2],i,j; for(i=0;i<2;i++) for(j=0;j<30++) ______;
填空题下面程序的功能是建立一个有3个节点的单循环链表,如下图所示,然后求各个节点数值域data中数据的和,请填空。#include<stdio.h>#include<stdlib.h>structNODEintdata;structNODE*next;;main()structNODE*p,*q,*r;intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->data=100;q->data=200;r->data=300;p->next=q;q->next=r;r->next=P;sum=P->data+P->next->data+r->next->next______:printf("%d/n",sum);
填空题给定程序中,函数fun()的功能是统计s所指一维数组中0的个数(存在变量zero中)和1的个数(存在变量one中),并输出结果。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
void fun(int*s,int n)
{
/*********found*********/
int i,one=0,zero;
for(i=0;i<n;i++)
/*********found*********/
switch(s[i]);
{
/*********found*********/
case 0:zero++;
case 1:one++;
}
printf("one:%d zero:%d/n",one,zero);
}
main()
{int a[20]={1,1,1,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,0},n=20;
fun(a,n);
}
填空题改变量已正确定义为整型,则表达式n=i=2,++i,i++的值为{{U}} {{/U}}。
填空题函数main()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空。 #include<stdio.h> struct node int data; struct node * next; int main(struct node * first)/*指针first为链表头指针*/ struct node * p;int m; p=first->next;m=p->data;p=p->next; for(; p!=NULL;p=______) if(p->data<m)m=p->data; return m;
填空题以下程序的输出结果是______。 main() int a[10]=10,20,30,40,50,60,70,80,90,100,*p; p=a+2;printf("%d/n',(p+2)[3]);
填空题下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
#include <conio.h>
#include <stdio.h>
#define MAXLINE 20
/*************found**************/
fun(char *pstr[6])
{int i, j;
char *p;
for(i=0;i<5;i++)
{for(j=i+l;j<6;j++)
/*************found**************/
{ if(strcmp(*(pstr+i),pstr+j)>0)
{
p=*(pstr+i);
/*************found**************/
* (pstr+i) -pstr+j;
* (pstr+j)=p;
}
}
}
}
main ( )
{ int i;
char *pstr[6],str[6][MAXLINE];
clrscr();
for(i=0;i<6;i++) pstr[i]=str[i];
printf("/nEnter 6 string(1 string at each
line):/n ");
for(i=0;i<6;i++) scanf("%s",pstr[i]);
fun(pstr);
printf("The strings after sorting:/n ");
for(i=0;i<6;i++) printf("%s/n ",pstr[i]);
}
填空题设x、y、z为整型变量,且x=2,y=3,z=4,当执行以下语句后,x的值是______。
x*=(y++)+(--z);
