填空题有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,______ ,成绩)。
填空题有以下程序: 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]); 程序运行后的输出结果是______。
填空题模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中______的作用是模拟被测试模块的下层模块。
填空题以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。
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);
}
填空题下列给定程序中,函数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); }
填空题函数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;
填空题下列程序将二维数组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++) ______;
填空题下面程序的输出结果是 【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));
填空题给定程序中,函数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}}。
填空题下列给定程序中,函数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]);
}
填空题以下程序的输出结果是______。 main() int a[10]=10,20,30,40,50,60,70,80,90,100,*p; p=a+2;printf("%d/n',(p+2)[3]);
填空题设x、y、z为整型变量,且x=2,y=3,z=4,当执行以下语句后,x的值是______。
x*=(y++)+(--z);
填空题给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长小于N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
void fun(char(*ss)[N])
{int i,j,k,n[M];char t[N];
for(i=0;i<M;i++)
n[i]=strlen(ss[i]);
for(i=0;i<M-1;i++)
{k=i;
/**********found**********/
for(j=______;j<M;j++)
/********found********/
if(n[k]>n[j])______;
if(k!=i)
{strcpy(t,ss[i]);
strcpy (ss[i],ss[k]);
/********found********/
strcpy(ss[k],______);
n[k]=n[i];
}
}
}
main()
{char ss[M][N]={"shanghaf","guangzhou","beijing","tianjin","chongqing"};
int i;
printf("/nThe original strings are:/n");
for (i=0;i<M;i++)
printf("%s",ss[i]);
printf("/n");
fun(ss);
printf("/nThe result:/n");
for(i=0;i<M;i++)
printf("%s",ss[i]);
}
填空题以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10
请填空。
#include<stdio.h>
#define N 80
int fun(int a[],int n)
{ int i,j=1;
for(i=1;i<n;i++)
if(a[j-1]{{U}} 【8】 {{/U}}a[i])
a[j++]=a[i];
{{U}} 【9】 {{/U}};
}
main()
{ int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("The original data :/n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("/nThe data after deleted :/n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("/n/n");
}
填空题以下函数的功能是删除字符串s中的所有数字字符。请填空。
viod dele(char *s)
{ int n=0,i;
for(i=0;s[i];i++)
if({{U}} 【15】 {{/U}})
s[n++]=s[i];
s[n]={{U}} 【16】 {{/U}};
}
填空题有以下程序:
#include<stdio.h>
main( )
{ char c;
while( (c=getchar( ) )!=''?'') putchar(- - c);
}
程序运行时,如果从键盘输入Y? N?<回车>,则输出结果为【 】。
填空题下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下画线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <stdlib.h>
#define N 5
typedef struct
{ int num;
char name[10];
char tel[10];
}STYPE;
void cheek();
/**********found**********/
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++)
/**********found**********/
fwrite(
felose(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);}
plintf("\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}});
for(i=0;i<20;i++)
{ if(a[i]>0)
{ count++;
sum+=({{U}} 【17】 {{/U}});
}
}
printf("sum=%d,count=%dhn",sum,count);
}
填空题给定程序MODI1.C中函数fun的功能是:计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y) 的值,其中x和y的值不等,z和y的值不等。 例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 文件MODI1.C内容如下: #include<stdio.h> #include<math.h> #include<stdlib.h> /**********found**********/ #define FU(m,n) (m/n) double fun(double a,double b,double c) double value; value=FU(a+b,a-b)+FU(c+b,c-b); /**********found**********/ Return(Value); void main( ) double x,y,z,sum; printf("Input x y z: "); seanf("%1f%1f%1f",&x,&y,&z); printf("x=%f,y=%f,z=%f/n",x,y,z); if(x==y||y=z) printf("Data error!/n"); exit(0); sum=fun(x,y,z); printf("The result is:%5.2f/n",sum);
