1、全国计算机等级考试三级 C 语言上机 100 题修订者 木易(2005 年 9 月)为解决大部分考生使用网上不同的南开 100 题,造成对各个版本的解题方法各有不同的疑惑,加上很多解题不易理解,容易产生误解,现综合本论坛会员的反聩,以及2005 年 9 月实际上机考试的情况,特对 100 题进行重新编排修订。几点说明:1、题目标题号前用“”显示的是 2005 年 4 月份本人根据各大论坛考生聩的题号集中而来,题号前加“”为 2005 年 9 月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。2、每种题目,只用一种解题方法,兰色部分为解题答案,此种方法本人觉得容易理解,不易出
2、错,适合初学者。3、特别说明:所有解法,本人均上机验证通过。4、个别南开题如 57、100 题,题目与原书有所不同,是按实际考试的题目所来,并对今年在实际上机中出现的考题,用红色部分表示实际上机题中的注明事项。木 易全国计算机等级考试论坛 : http:/*题目 1请编写一个函数 jsValue(int m,int k,int xx),该函数的功能是:将大于整数 m 且紧靠 m 的k 个素数存入数组 xx 传回。最后调用函数 writeDat()读取 10 组数据,分别得出结果且把结果输出到文件 out.dat 中。部分源程序存在文件 prog1.c 中。例如:若输入 17 5 则应输出:19
3、,23,29,31,37。请勿改动主函数 main()和写函数 writeDat()的内容。#include #include void readwriteDat();int isP(int m)int i;for(i=2;i0;m+)if(isP(m) xxs+=m; k-;main()int m,n,xx1000;clrscr();printf(“nPlease enter two integers:“);scanf(“%d%d“,num(m,n,xx);for(m=0;m#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal() int i,
4、j,qw,bw,sw,gw;for(i=0;i#include #include char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void StrOR(void)int i,righto,j,s,k;char tem80;for(i=0;i=0;j-) k=0; memset(tem,0,80);if(xxij=o)righto=j; for(s=righto+1;s#include #include #include char xx5080;int maxline=0;/*文
5、章的总行数*/int ReadDat(void);void WriteDat(void);void StrOL(void) int i,j,k,s,m,strl;char str80;for(i=0;i=0;j-) if(isalpha(xxij) k+;else for(m=1;m#include #include int aa200,bb10;void jsSort()int i,j,data;for(i=0;iaaj%1000|aai%1000=aaj%1000void jsSort()int i,j,data;for(i=0;iaaj)data=aai;aai=aaj;aaj=data
6、;for(i=0;i10;i+)bbi=aai;void main()readDat();jsSort();writeDat();system(“pause“);readDat()FILE *in;int i;in=fopen(“in.dat“,“r“);for(i=0; i200; i+) fscanf(in,“%d,“,fclose(in);writeDat()FILE *out;int i;clrscr();out=fopen(“out.dat“,“w“);for(i=0; i10; i+)printf(“i=%d,%dn“,i+1,bbi);fprintf(out,“%dn“,bbi);