全国计算机等级考试三级c语言上机题汇编.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《全国计算机等级考试三级c语言上机题汇编.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试三级c语言上机题汇编.docx(152页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试三级C语言上机题汇编题目1 (上机题库id 14、id 27(提供isP()函数;上机题库id 23题)请编写一个函数jsValue(int m, int k, int xx),该函数的功能是:将大于整 数m且紧靠m的k个素数存入数组xx传回。最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件。 ut. dat 中 o部分源程序存在文件progl. c中。例如:若输入17 5则应输出:19, 23, 29, 31, 37。请勿改动主函数main()和写函数writeDat ()的内容。#include ttinclude void readwrit
2、eDat ();int isP(int m) int i;for(i=2;i0;m+)if(isP(m) xxs+=m; k一; )main()(int m, n, xx1000;clrscr ();printf (z/nPlease enter two integers: *);scanf (,%d%d/z, &m, &n);num (m, n, xx);for(m=0;mn;m+) printf (zz%d xxm);printf(n);readwriteDat ();void readwriteDat() int m, n, xx1000, i; FILE *rf, *wf;rf=fop
3、en(,zin. dat, r);wf二fopen(out. dat,w);for(i=0;i10;i+) fscanf (rf, %d %d”, &m, &n);num (m, n, xx);for(m=0;mn;m+)fprintf(wf, dxxm);fprintf (wf, n);)fclose(rf);fclose(wf);)无忧id 14题(无isP()函数)ttinclude void jsValue(int m, int k, int xx) int i, j, s=0;for (i=m+l;k0;i+) for(j=2;ji;j+)if(i%j=0) break;if(i=j
4、) xxs+=i; k-; main ()int m, n, zz100;printf (n请输入两个整数:);scanf (zz%d%dzz, &m, &n);jsValue(m, n, zz);for (m=0;mn;m+)printf (z,%d ”, zzm);printf(n);writeDat ();writeDat ()(int m, n, zz100, i;FILE *in, *out;in=topen( in.dat , r );out=fopen(out. dat, w);for(i=0;i10;i+) fscanf (in,,z%d%d,z, &m, &n);jsValu
5、e (m, n, zz);for(m=0;mn;m+)fprintf(out, %d ,zzm);fprintf(out, n);)fclose (in);fclose(out);)另一解法:void num(int m, int k, int xx)(int n=0,data=m+l;while(nk)if(isP(data) xxn+=data;data+; 题目2 (上机题库id 143整数排序题)已知数据文件IN. DAT中存有200个四位数,并已调用读函数readDat ()把这些 数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的 数字均是0或2或4或6或
6、8,则统计出满足此条件的个数ent,并把这些四位 数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat () 把结果ent以及数组b中符合条件的四位数输出到OUT. DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a200, b200,已定义变量:ent请勿改动数据文件IN. DAT中的任何数据、主函数main。、读函数readDat ()和 写函数writeDat ()的内容。ttinclude #define MAX 200int aMAX, bMAX, ent = 0 ;void jsVal () int i, j, qw, bw, s
7、w, gw;for(i=0;i MAX;i+) qw=ai/1000; bw=ai/100%10;sw=ai%100/10; gw=ai%10;if(qw&qw%2=0&bw%2=0&sw%2=0&gw%2=0) bcnt+=ai;)for(i=0;icnt-l;i+)for(j=i+l;jcnt;j+)if (bibj) qw=bi; bi=bj ; bj=qw;)void readDat ()(int i ;FILE *fp ;fp = fopen(in. dat,;for(i = 0 ; i MAX ; i+) fscanf(fp, d,&ai);fclose (fp);)void ma
8、in()(int i ;readDat ();jsValO ;printf(满足条件的数二%dn, ent);for(i = 0 ; i ent ; i+) printf(,z%d ”, bi);printf(n);writeDat ();)writeDat ()(FILE *fp ;int i ;fp = fopen(out dat,w);fprintf(fp,ent);for(i = 0 ; i ent ; i+) fprintf(fp, %dn, bi);fclose(fp);)题目3 (上机题库id 133题;上机题库id 59、99字符串位置倒置题) 函数ReadDat()实现从文件
9、IN. DAT中读取篇英文文章存入到字符串数组xx 中;请编制函数StrOR(),其函数的功能是:以行为单位依次把字符串中所有 小写字母。左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余 下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重 新存入字符串数组xx中。最后mainO函数调用函数WriteDatO把结果xx输出 到文件0UT5. DAT中。例如:原文:n any field. Yu can create an indexyou have the correct record.结果:n any field. Yu can create an indexr
10、d. yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在文件progl. c中。请勿改动主函数main。、读数据函数ReadDat ()和输出数据函数WriteDatO的 内容。#include #include #include char xx5080;int max line = 0 ; /*文章的总行数*/int ReadDat(void);void WriteDat(void);void StrOR(void)int i, righto, j, s, k;char tem80;for (i=0;
11、i=0;j) k=0;memset (tem, 0, 80); /*初始化字符串数组tem*/if (xxi j=,o) /*如果当前字符为o,进入以下语句*/righto=j; /*则将此字符中位置j的值赋给righto*/for(s=righto+l;sstrlen(xxi);s+)temk+=xxi s ;/*从righto的下一跳开始将其后所有的字符都存入到tem 中*/for(s=0;srighto;s+) /*从当前行首部开始到出现字符o的位置(righoto) 之前开始循环*/if (xxi s != o) temk+=xxi s; /*将不是字符o的字符全存入到 te m中*/
12、strcpy (xxi, tem) ;/*将当前已处理的字符重新存入当前行xx*/ else continue; void main() (clrscr();if(ReadDatO) printf (“数据文件IN. DAT不能打开!n007);return ;)StrORO ;WriteDat ();)int ReadDat(void) FILE *fp ;int i = 0 ;char *p ;if(fp = fopenClN. DAV, r)= NULL) return 1 while(fgets(xxi, 80, fp) != NULL) p = strchr (xxi, n);if(
13、p) *p = 0 ;i+ ;)maxiine = i ;fclose(fp);return 0 ;)void WriteDat(void)(FILE *fp ;int i ;clrscr ();fp = fopen(“0UT5. DAT”, w);for(i = 0 ; i maxiine ; i+) printf(%sn”, xxi);fprintf(fp, %sn”, xxi);fclose (fp)解法二:void StrOR(void) int i;char a80, *p;for (i=0;imaxline;i+) p=strchr(xxi, o);while(p) memset
14、(a, 0, 80);memcpy (a, xxi, p-xxi);strcpy(xxi, p+1);strcat(xxi, a);p=strchr(xxi,o);解法三:void StrOR(void) int i,j; char yy80, *p;for(i=0; imaxline;i+)for(j=0; jstrlen(xxi); j+)if (xxi j= oJ) p=&xxi j+1;strcpy (yy, p) ;/*将指针p所指向的字符串拷贝到字符串yy中去*/ strncat (yy, xxi, j) ; /*将字符串xxi中前j个字符连接到yy中*/ strcpy (xxi,
15、 yy); /*将字符串yy重新拷贝到字符串xxi中去*/ j=0; /*开始下一次的扫描。*/相关库函数解释:char *strncat(char *dest, const char *src, size_t maxlen) 功能:将字符串src中前maxlen个字符连接到dest中相关头文件:string. hchar *strcpy(char *dest, const char *src)功能:将字符串src拷贝到字符串dest中去相关头文件:string, h题目4 (无忧id 24题上机题库id 9字符串单词倒置题) 函数ReadDat ()实现从文件IN. DAT中读取篇英文文章存
16、入到字符串数组xx 中,请编制函数StrOLO,其函数的功能是:以行为单位对行中以空格或标点符 号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按 行重新存入字符串数组xx中,最后调用函数writeDat ()把结果xx输出到文件0 UT6. DAT 中 o例如:原文:You He Me I am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 部分源程序存在文件progl. c中。请勿改动主函数main。、读数据函数ReadDat ()和输出数据函数writeDatO的 内容
17、。Sinclude #include Sinclude #include char xx5080;int maxline=0;/*文章的总行数*/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(xxi j) k+; /*如果当前字符是字母 az 或 AZ,
18、则 k 加一* /else for (m= 1;m=k;m+) /*否则将长度为k的单词顺序存入到字符串数组st r中,s值加1*/strs+=xxij+m;k=0; /*将k值清0,以方便下一个单词的长度计数*/ )if (! isalpha(xxi j) strs+= ; /*如果当前字符不是字母 az 或 AZ, 则以空格代之存入到字符串数组str中,s值加*/ for(m=l;m=k;m+) /*此时的k值为当前字符串中第一个单词的长度,但在上一 个for循环中没能存入到字符串数组str中,所以在这里将其存入到str中*/ strs+=xxij+m;strs= 0 ; /*在当前行尾加
19、0以标记此行的结束*/strcpy(xxi, str) ;/*将倒排好的当前字符串重新存回到当前行xx中*/ void main() ( clrscr (); if(ReadDatO) printf (数据文件IN. DAT不能打开! n007); return;)StrOLO ;WriteDat ();int ReadDat(void) (FILE *fp;int i=0;char *p;if(fp=fopen(IN. DA,r)=NULL) return 1;while(fgets(xxi, 80, fp)!=NULL)p=strchr(xxi,) n);if(p)*p=0;i+;)max
20、line=i;fclose(fp);return 0;void WriteDat(void) (FILE *fp;int i;clrscr ();fp=fopen C0UT6. DAT, w);for(i=0;imaxline;i+) printf(%sn, xxi); fprintf(fp, %sn, xxi);) fclose(fp);)上机题库版模拟系统中的解法/*在无忧模拟系统中没通过测试(输入文件句末有标点的在输出文件中句前无空 格*/void StrOL(void) int i, j ;char word21, yy80, zz 80, *p ;for(i = 0 ; i maxl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 三级 语言 上机 汇编
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内