77范文网 - 专业文章范例文档资料分享平台

全国计算机二级C语言题库 - 南开100题(3)

来源:网络收集 时间:2019-01-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

printf(\ } }

解题思路:

本题是考察如何从文件中读出数据,再把结构中的数据写入文件中。 第一处:从指定的文件中读出数据,所以应填:filename。 第二处:读取文件fp的最后一条记录,所以应填:fp。

第三处:再把读出的记录,写入文件fp指定的位置上,所以应填:fp。 ***************************************************

给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表, 并 为各结点数据域赋0到m-1的值。

请改正函数Creatlink中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include typedef struct aa { int data; struct aa *next; } NODE;

NODE *Creatlink(int n, int m) { NODE *h=NULL, *p, *s; int i;

/**********found***********/ p=(NODE )malloc(sizeof(NODE)); h=p;

p->next=NULL; for(i=1; i<=n; i++)

{ s=(NODE *)malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; }

/**********found***********/

return p; }

outlink(NODE *h) { NODE *p; p=h->next;

printf(\ while(p)

{ printf(\ p=p->next; }

printf(\ } main() { NODE *head; head=Creatlink(8,22);

outlink(head); }

解题思路:

第一处: 指向刚分配的结构指针,所以应改为:p=(NODE *)malloc(sizeof(NODE)); 第二处: 在动态分配内存的下一行语句是,使用临时结构指针变量h保存p指针的初始位置, 最后返回不能使用p,是因为p的位置已经发生了变化,所以应改为返回h。 ***************************************************

请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返 回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干 个空格隔开, 一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序: #include #include #define N 80 int fun( char *s) { }

main()

{ char line[N]; int num=0;

printf(\ num=fun( line );

printf(\ NONO(); }

解题思路:

本题是统计字符串中的单词数。

1. 利用while循环语句和指针变量,当字符为空格时,则单词数k加1。 2. 循环结束返回k。 参考答案:

int fun( char *s) { int k = 1 ; while(*s) { if(*s == ' ') k++ ; s++ ; } return k ; }

※※※※※※※※※※※※※※※※※※※※※※※※※ 第04套:

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所 有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指 的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的 学生数据输出到filename所指的文件中,覆盖原来的文件内容。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #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, __1__); fread(s, sizeof(STU), N, fp); fclose(fp);

for (i=0; i

/**********found**********/ if (s[i].sno __2__ s[j].sno) { t = s[i]; s[i] = s[j]; s[j] = t; } fp = fopen(filename, \ /**********found**********/

__3__(s, sizeof(STU), N, fp); /* 二进制输出 */ fclose(fp); } main()

{ STU t[N]={ {10005,\ {10002,\ {10001,\ int i,j; FILE *fp;

fp = fopen(\ fwrite(t, sizeof(STU), 5, 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), 5, fp); fclose(fp); for (j=0; j

{ printf(\ for (i=0; i<3; i++) printf(\ printf(\ } }

解题思路:

本题是考察把结构中的数据写入文件。

第一处:建立文件的类型,考虑到是把结构中的数据(结构中的数据包含不打印的字符) 从文件中读出,所以应填:\。

第二处:判断当前学号是否大于刚读出的学号进行相比,如果大于,则进行交换,所以应 填:>。

第三处:把已排序的结构数据,重新写入文件,所以应填:fwrite。 ***************************************************

给定程序MODI1.C中函数fun的功能是: 在字符串的最前端加入n个*号, 形成 新串, 并且覆盖原串。

注意: 字符串的长度最长允许为79。

请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include void fun ( char s[], int n ) {

char a[80] , *p; int i;

/**********found***********/ s=p;

for(i=0; i

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库全国计算机二级C语言题库 - 南开100题(3)在线全文阅读。

全国计算机二级C语言题库 - 南开100题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/402448.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: