收藏 分享(赏)

计算机三级考试C语言上机试题.doc

上传人:dreamzhangning 文档编号:3014958 上传时间:2018-10-01 格式:DOC 页数:121 大小:476KB
下载 相关 举报
计算机三级考试C语言上机试题.doc_第1页
第1页 / 共121页
计算机三级考试C语言上机试题.doc_第2页
第2页 / 共121页
计算机三级考试C语言上机试题.doc_第3页
第3页 / 共121页
计算机三级考试C语言上机试题.doc_第4页
第4页 / 共121页
计算机三级考试C语言上机试题.doc_第5页
第5页 / 共121页
点击查看更多>>
资源描述

1、全国计算机等级考试三级 C 语言程序设计上机考试习题集(2004 年版)【终极无错 2.0 版】考试吧(E)-第一个极力推崇人性化服务的综合考试网站!服务:面向较高学历人群,提供计算机类,外语类,学历类,资格类,四大类考试的全套考试信息服务.特色:极力推崇人性化服务!让您最便捷的在最短时间内得到对您最有价值考试信息!坚持每日更新!声明:本资料由 狂风校园考试网 收集整理,转载请注明出自 http:/ 服务:面向校园,提供计算机等级考试,计算机软件水平考试,英语四六级,研究生考试 等校园相关考试信息。 特色:提供历年试题,模拟试题,模拟盘,教程,专业课试题 下载等。资料丰富,更新快! 考试交流论

2、坛:http:/bbs.kuang 推出全新综合考试网站 考试吧(Exam8 .com)南开 100题【终极无错 2.0 版】2004 年10 月 30日修订者:李蓝(无忧网校)题目前带号的是在 2004 年 4月份上机考试中被考生们所确定了的上机题。题目前带号的是在 2004 年 9月份上机考试中被考生们所确定了的上机题。题目中所提示的“无忧 id xx”指的是 2004 年上半年版无忧模拟系统中的固定抽题序号题目中所提示的“捷成 id xx”指的是 2004 年上半年版捷成模拟系统中的固定抽题序号*题目 1(无忧 id 14、id 27(提供 isP()函数;捷成 id 23 题)请编写

3、一个函数 jsValue(int m,int k,int xx),该函数的功能是:将大于整数 m 且紧靠 m的 k 个素数存入数组 xx 传回。最后调用函数 writeDat()读取 10 组数据,分别得出结果且把结果输出到文件out.dat 中。部分源程序存在文件 prog1.c 中。例如:若输入 17 5 则应输出:19,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

4、-;main()int m,n,xx1000;clrscr();printf(“nPlease enter two integers:“);scanf(“%d%d“,num(m,n,xx);for(m=0;mvoid jsValue(int m,int k,int xx) int i,j,s=0;for(i=m+1;k0;i+) for(j=2;j#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal() int i,j,qw,bw,sw,gw;for(i=0;i#include #include char xx5080 ;int maxline

5、= 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); /*初始化字符 串数组 tem*/if(xxij=o) /*如果当前字符为o,进入以下语句*/righto=j; /*则将此字符 中位置 j 的值赋给 righto*/for(s=righto+1;s#include #include #include char xx5080;int maxline=0;/*文章

6、的总行数*/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+; /*如果当前字符是字母 az 或 AZ,则 k 加一*/else for(m=1;m=0;j-)if(!isalpha(xxij) strcat(str,xxi+j+1);strcat(str,

7、“ “);xxij=0;strcat(str,xxi); strcpy(xxi,str);实际上机考试时上面几种解法都可以采用。*题目 5(无忧 id 8 整数排序 题)在文件 in.dat 中有 200 个正整数,且每个数均在 1000至 9999之间。函数 ReadDat()读取这 200 个数存放到数组 aa中。请编制函数jsSor t(),其函数的功能是:要求按每个 数的后三位的大小进行升序排列,然后取出满足此条件的前 10 个数依次存入数组 bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数 WriteDat()把结果 bb输出到文件out.dat 中。例:处理

8、前 6012 5099 9012 7025 8088处理后 9012 6012 7025 8088 5099部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数ReadDat()和输出数据函数 WriteDat()的内容。#include #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;for(i=0

9、;i#include #include #include #include #define MAX 100typedef structchar dm5; /*产品代码*/char mc11; /*产品名称*/int dj; /*单价*/int sl; /*数量*/long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()int i,j;PRO xy;for(i=0;i#include #include #include unsigned char xx5080;int maxline=0;/*文章的总

10、行数*/int ReadDat(void);void WriteDat(void);void encryptChar() int i,j;for(i=0;i130) continue;else xxij=xxij*11%256;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=fopen(“eng.in“,“r“)=NULL) return

11、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(“ps1.dat“,“w“);for(i=0;i130) continue;else xxij=k;解法三:void encryptChar() int i,j;unsigned char ch;for(i=0;i130) continue;else xxij=ch;解法四:void encryptChar() int i,j;ch

12、ar *p;for(i=0;i130) continue;else xxij=p;解法五:void encryptChar() int i;char *pf;for(i=0;i130) pf+;else *pf+=*pf*11%256;*题目 9(无忧 id 28;id 124;捷成 id 16 字符串排序题)函数 ReadDat()实现从文件IN.DAT 中读取一篇英文文章存入到字符串数组xx 中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx中,最后调用函数 writeDat()把结果 xx输出到文件O

13、UT2.DAT 中。例:原文:dAe,BfC.CCbbAA结果:fedCBA.bbCCAA原始数据文件存放的格式是:每行的宽度均小于 80个字符,含标点符号和空格。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数ReadDat()和输出数据函数 writeDat()的内容。#include #include #include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void SortCharD(void)int i,j,k,strl;char ch;for

14、(i=0;i#include #include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void ConvertCharA(void) int i,j;for(i=0;i=avoid chg(char *s)while(*s)if(*s=z|*s=Z) *s-=25; s+;else if(*s=a /*产品代码*/char mc11; /*产品名称*/int dj; /*单价*/int sl; /*数量*/long je; /*金额*/PRO;PRO sellMAX;void Read

15、Dat();void WriteDat();void SortDat()int i,j;PRO xy;for(i=0;i0|strcmp(selli.mc,sellj.mc)=0selli=sellj;sellj=xy;void main()memset(sell,0,sizeof(sell);ReadDat();SortDat();WriteDat();void ReadDat()FILE *fp;char str80,ch11;int i;fp=fopen(“IN.DAT“,“r“);for(i=0;i#include #include #include #include #define

16、MAX 100typedef structchar dm5; /*产品代码*/char mc11; /*产品名称*/ int dj; /*单价*/int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()int i,j;PRO xy;for(i=0;i0|strcmp(selli.dm,sellj.dm)=0void jsVal()int i,j,flag;for(i=0;iajelse flag=0;break;if(flag=1) bcnt+=ai; for(i=0;

17、ibj) flag=bi;bi=bj;bj=flag;void readDat()int i ;FILE *fp ;fp = fopen(“in.dat“, “r“) ;for(i = 0 ; i #define MAX 200int aMAX, bMAX, cnt=0;void jsVal()int i,j;int qw,bw,sw,gw;for (i=0;ibj) qw=bi;bi=bj;bj=qw;void readDat()int i ;FILE *fp ;fp = fopen(“in.dat“, “r“) ;for(i = 0 ; i #include #include char x

18、x5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void StrCharJR()int i,j;for(i=0;i4);void main()clrscr();if(ReadDat()printf(“数据文件 IN.DAT 不能打开!n007“);return;StrCharJR();WriteDat();int ReadDat(void)FILE *fp;int i=0;char *p;if(fp=fopen(“IN.DAT“,“r“)=NULL) return 1;while(fgets(xxi,80,

19、fp)!=NULL)p=strchr(xxi,n);if(p)*p=0;i+;maxline=i;fclose(fp);return 0;void WriteDat(void)FILE *fp;int i;clrscr();fp=fopen(“OUT8.DAT“,“w“);for(i=0;i#include #include char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void ChA(void) int i,j;char ch;for(i=0;i#include #inc

20、lude #include unsigned char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void encryptChar() int i,j;for(i=0;i#include #include int findStr(char *str,char *substr) int n=0;char *p , *r;while ( *str )p=str;r=substr;while(*r)if(*r=*p) r+; p+; else break;if(*r=0)n+;str+; return n

21、;main()char str81, substr3 ;int n ;clrscr() ;printf(“输入原字符串:“) ;gets(str) ;printf(“输入子字符串:“) ;gets(substr) ;puts(str) ;puts(substr) ;n=findStr(str, substr) ;printf(“n=%dn“, n) ;ReadWrite() ;ReadWrite()char str81, substr3, ch;int n, len, i = 0;FILE *rf, *wf ;rf = fopen(“in.dat“, “r“) ;wf = fopen(“out

22、.dat“, “w“) ;while(i int jsValue(int t) int f0=0,f1=1,fn;fn=f0+f1;while(fn#include #include float countValue() double x0,x1;x1=0.0;do x0=x1;x1=cos(x0);while(fabs(x0-x1)=0.000001);return x1;main()clrscr();printf(“实根=%fn“,countValue();printf(“%fn“,cos(countValue()-countValue();writeDat();writeDat()FIL

23、E *wf;wf=fopen(“OUT17.DAT“,“w“);fprintf(wf,“%fn“,countValue();fclose(wf);*题目 22(无忧 id 39 平方根问题 )请编写函数countValue() ,它的功能是 :求 n 以内(不包括 n)同时能被 3与 7 整除的所有自然数之和的平方根 s,并作为函数值返回,最后结果 s输出到文件out.dat 中。例如若 n 为1000 时,函数值应为:s=153.909064。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()和输入输出数据函数 progReadWrite()的内容。#include #in

24、clude #include double countValue(int n) int i;double s=0.0;for(i=1;in;i+)if(i%21=0) s+=i;return sqrt(s);main()clrscr();printf(“自然数之和的平方根=%fn“,countValue(1000);progReadWrite();progReadWrite()FILE *fp,*wf;int i,n;float s;fp=fopen(“in.dat“,“r“);if(fp=NULL)printf(“数据文件 in.dat 不存 在!“);return;wf=fopen(“out.dat“,“w“);for(i=0;i10;i+)fscanf(fp,“%dn“,s=countValue(n);fprintf(wf,“%fn“,s);fclose(fp);fclose(wf);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报