※※※※※※※※※※※※※※※※※※※※※※※※※ 第02套:
给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本 文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。
注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include
void fun(char *s, int a, double f) {
/**********found**********/ __1__ fp; char ch;
fp = fopen(\ fprintf(fp, \ fclose(fp);
fp = fopen(\ printf(\ ch = fgetc(fp);
/**********found**********/ while (!feof(__2__)) { /**********found**********/ putchar(__3__); ch = fgetc(fp); } putchar('\\n'); fclose(fp); } main()
{ char a[10]=\ double c= 98.76; fun(a,b,c); }
解题思路:
本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。 第一处:定义文本文件类型变量,所以应填:FILE *。 第二处:判断文件是否结束,所以应填:fp。 第三处:显示读出的字符,所以应填:ch。
***************************************************
给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形 成新的字符串, 并取代原字符串。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include
for(i=0,j=0; s[i]!='\\0'; i++) if(s[i]>='0' && s[i]<='9') /**********found**********/ s[j]=s[i];
/**********found**********/ s[j]=\ } main() { char item[80];
printf(\ printf(\ fun(item);
printf(\ }
解题思路:
第一处: 要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j 来控制新字符串的位置,所以应改为:s[j++]=s[i];。 第二处: 置新字符串的结束符,所以应改为:s[j]='\\0';. ***************************************************
请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的 顺序依次放到一个字符串中。 例如, 二维数组中的数据为:
W W W W S S S S H H H H
则字符串中的内容应是: WSHWSHWSH。 注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序: #include
void fun(char s[][N], char *b) { int i,j,n=0;
for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ { } b[n]='\\0'; } main()
{ char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}}; int i,j;
printf(\ for(i=0; i { for(j=0;j printf(\ printf(\ NONO(); } 解题思路: 本题是把二维数组中的字符数据按列存放到一个字符串中。 1. 计算存放到一维数组中的位置。 2. 取出二维数组中的字符存放到一维数组(已计算出的位置)中。 参考答案: void fun(char s[][N], char *b) { int i,j,n=0; for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ { for(j = 0 ; j < M ; j++) { b[n] = s[j][i] ; n = i * M + j + 1; } } b[n]='\\0'; } ※※※※※※※※※※※※※※※※※※※※※※※※※ 第03套: 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所 有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所 指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学 生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun(char *filename, STU n) { FILE *fp; /**********found**********/ fp = fopen(__1__, \ /**********found**********/ fseek(__2__, -1L*sizeof(STU), SEEK_END); /**********found**********/ fwrite(&n, sizeof(STU), 1, __3__); fclose(fp); } main() { STU t[N]={ {10001,\ {10003,\ {10005,\ STU n={10006,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); printf(\ for (j=0; j { printf(\ for (i=0; i<3; i++) printf(\ printf(\ } fun(\ printf(\ fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); for (j=0; j { printf(\ for (i=0; i<3; i++) printf(\ 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库全国计算机二级C语言题库 - 南开100题(2)在线全文阅读。
相关推荐: