1. 填空
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
void check();
/**********found**********/
int fun(___1___ *std)
{
/
**********found**********/
___2___ *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(&std[i], sizeof(STYPE), 1, ___3___);
fclose(fp);
return (1);
}
修改
给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,
则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!
void fun (char *s, char *t)
{ int i, sl;
sl = strlen(s);
/************found************/
for( i=0; i<=s1; i ++)
t[i] = s[i];
for (i=0; i<sl; i++)
t[sl+i] = s[sl-i-1];
/************found************/
t[sl] = '\0';
}
程序
函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如:a=45,b=12时,调用该函数后,c=4152.
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
答案: B: STYPE FILE fp
M: for(i = 0 ; i < sl ; i++) t[2*sl] = 0;
P: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2. 填空
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
main()
{ FILE *fp;
if((fp=fopen("","w"))==NULL)
{ printf(" open fail!!\n"); exit(0); }
WriteText(fp);
fclose(fp);
if((fp=fopen("","r"))==NULL)
{ printf(" open fail!!\n"); exit(0); }
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE ___1___)
{ char str[81];
printf("\nEnter string with -1 to end :\n");
gets(str);
while(strcmp(str,"-1")!=0) {
/**********found**********/
fputs(___2___,fw); fputs("\n",fw);
gets(str);
}
}
void ReadText(FILE *fr)
{ char str[81];
printf("\nRead file and output to screen :\n");
fgets(str,81,fr);
while( !feof(fr) ) {
/**********found**********/
printf("%s",___3___);
fgets(str,81,fr);
}
}
修改
给定程序MODI1.c中函数fun的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
例如:当s中的数为:7654321时,t中的数为:7531
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!
#include <stdio.h>
/************found************/
void fun (long s, long t)
{ long sl=10;
*t = s % 10;
while ( s > 0)
{ s = s/100;
*t = s%10 * sl + *t;
/************found************/
sl = sl*100;
}
}
程序计算机二级c语言选择题库
函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百
位和个位上。
例如:a=45,b=12时,调用该函数后,c=1524.
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
2、B: *fw str str
M: long *t sl = sl*10;
P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
3. 填空
给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中
不得增行或删行,也不得更改程序的结构!
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++)
/**********found**********/
fprintf(___1___,"%d %f\n",i,sqrt((double)i));
printf("\nSucceed!!\n");
/**********found**********/
___2___;
printf("\nThe data in file :\n");
/**********found**********/
if((fp=fopen(___3___,"r"))==NULL)
return 0;
fscanf(fp,"%d%f",&n,&x);
while(!feof(fp))
{ printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); }
fclose(fp);
return 1;
}
修改
给定程序MODI1.c中fun函数的功能是:将n个无序整数从小到大排序。
fun ( int n, int *a )
{ int i, j, p, t;
for ( j = 0; j<n-1 ; j++ )
{ p = j;
/************found************/
for ( i=j+1; i<n-1 ; i++ )
if ( a[p]>a[i] )
/************found************/
t=i;
if ( p!=j )
{ t = a[j]; a[j] = a[p]; a[p] = t; }
}
}
程序
函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如:a=45,b=12时,调用该函数后,c=2514
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
3、B: fp fclose(fp) fname
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论