1、上机复习资料全国计算机等级考试云南农业大学考点全国计算机等级考试三级 上机题( 分类 注释)一、替换字符。 . 21 题 . 23 题 . 29 题 . 327 题 . 430 题 . 473 题 . 5二、字符串左右排序和比较 . 52 题 . 54 题 . 66 题 . 712 题 . 826 题 . 871 题 . 984 题 . 998 题 . 10三、正整数排序求平均值(包括将数拆散、求最大最小值). 108 题 . 1031 题 . 1133 题 . 1146 题 . 1251 题 . 1358 题 . 1363 题 . 1469 题 . 1494 题 . 15四、产品五个因素的比
2、较排列,是结构体操作问题. 1511 题 . 1513 题 . 1617 题 . 1781 题 . 1885 题 . 1889 题 . 19五、素数 . 2014 题 . 2022 题 . 2051 题 . 2180 题 . 21六、数字排序 . 2210 题 . 2218 题 . 22七、其他数学计算 . 2316 题 . 2320 题 . 2355 题 . 2359 题 . 2478 题 . 2488 题 . 24八、数字或字符移位后的计算 . 2521 题 . 2523 题 . 2541 题 . 2645 题 . 2777 题 . 27九、学生成绩,结构体问题 . 2824 题 . 28
3、76 题 . 28十、字符串(单词)的倒置和删除 . 2925 题 . 2975 题 . 29十一、选票问题 . 3032 题 . 3068 题 . 3170 题 . 3182 题 . 32十二、出圈问题 . 3234 题 . 32十三、进制转换 . 3338 题 . 3340 题 . 3462 题 . 34 十四、其他 . 35 一题 . 35 二题 . 3533 题 . 3625 题 . 36本资料仅限于云南农业大学考点2010年上半年培训班学员使用一、替换字符。1 题 函数ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数 组xx中;请编制函数encryptCh
4、ar(),按给 定的替代关系对数组xx中的所有字符进 行替代,仍存入数组xx的对应的位置上, 最后调用函数WriteDat()把结果xx 输出 到文件PS10.DAT中。替代关系:f(p)=p*11 mod 256 (p 是 数组中某一个字符的 ASCII 值,f(p)是计 算后新字符的 ASCII 值),如果原字符的 ASCII 值是偶数或计算后 f(p)值小于等 于 32,则该字符不变,否则将 f(p)所对 应的字符进行替代。部分源程序已给出,原始数据文件 存放的格式是:每行的宽度均小于 80 个 字符。请勿改动主函数 main()、读数据函 数 ReadDat()和输出数据函数 Writ
5、eDat() 的内容。#include#include#include#includeunsigned char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void) void WriteDat(void) void encryptChar()void main() clrscr(); if(ReadDat()printf( 数据文件 ENG.IN 不能打开!n007);return; encryptChar(); WriteDat();int ReadDat(void)FILE *fp;int i=0;unsigned char *p; if(fp
6、=fopen(eng.in,r)=NULL) return 1; while(fgets(xxi,80,fp)!=NULL) p=strchr(xxi,n);if(p)*p=0;i+; maxline=i; fclose(fp); return 0;void WriteDat(void)FILE *fp; int i; fp=fopen(ps10.dat,w); for(i=0;imaxline;i+) printf(%sn,xxi); fprintf(fp,%sn,xxi);fclose(fp);-注:在 ReadDat()函数中由于 fgets()函数 读入数据时没有读入字符串结束符0,
7、因而用 while()循环在 xx 数组每一行未 尾将换行符n替换成结束符0。编写的 函数如下:该函数的基本算法是让 字符指针 pf 指向每一行的开头然后逐一 往后移动,在移动过程中按要求进行转 换。*pf=*pf/2*2 用于判断是否为偶数。 if()条件语句用于控制不替代字符。void encryptChar()int i;char *pf;for(i=0;imaxline;i+)pf=xxi;while(*pf!=0)if(*pf=*pf/2*2|*pf*11%25632)pf+;continue;*pf=*pf*11%256;pf+;void encryptChar()int i,j,
8、t;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)t=xxij*11%256;if(t=32 | xxij%2=0) continue;xxij=t;3 题 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给 定的替代关系对数组xx中的所有字符进 行替代,仍存入数组xx的对应的位置上, 最后调用函数WriteDat()把结果xx 输出 到文件PS8.DAT中。替代关系:f(p)=p*11 mod 256 (p 是 数组中某一个字符的 ASCII 值,f(p)是计 算后新字符
9、的 ASCII 值),如果原字符是 小写字母或计算后 f(p)值小于等于 32, 则该字符不变,否则将 f(p)所对应的字 符进行替代。部分源程序已给出。原始数据文件 存放的格式是:每行的宽度均小于 80 个 字符。请勿改动主函数 main()、读数据函 数 ReadDat()和输出数据函数 WriteDat() 的内容。#include#include#include#includeunsigned char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void)void WriteDat(void)void encryptChar()void ma
10、in() clrscr(); if(ReadDat()printf( 数据文件 ENG.IN 不能打开!n007);return; encryptChar(); WriteDat();int ReadDat(void)FILE *fp;int i=0;unsigned char *p; if(fp=fopen(eng.in,r)=NULL) return 1; while(fgets(xxi,80,fp)!=NULL) p=strchr(xxi,n);if(p)*p=0;i+; maxline=i; fclose(fp); return 0;void WriteDat(void)FILE *f
11、p; int i; fp=fopen(ps8.dat,w); for(i=0;imaxline;i+) printf(%sn,xxi); fprintf(fp,%sn,xxi);fclose(fp);-注:与题 1 相似。void encryptchar()int i;char *pf;for(i=0;i=a&*pf=z|*pf*11%25632)pf+;continue;*pf=*pf*11%256;pf+;void encryptChar()int i,j,t;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)t=xxij*11%256;if(t=a &xxij=z)continue;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1