计算机3级网络技术C语言南开上机100题.pdf
《计算机3级网络技术C语言南开上机100题.pdf》由会员分享,可在线阅读,更多相关《计算机3级网络技术C语言南开上机100题.pdf(149页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、全 国 计 算 机 等 级 考 试 三 级 C语 言 上 机 100题 几 点 说 明:1、题 目 标 题 号 前 用“”显 示 的 是 2005年 4 月 份 本 人 根 据 各 大 论 坛 考 生 麒 的 题 号 集 中 而 来,题 号 前 加“”为 2005年 9 月 上 机 考 试 题,其 中 难 免 有 题 型 相 同 而 题 号 增 加 的 现 象,此 类 标 明,仅 供 参 考。2、每 种 题 目,只 用 一 种 解 题 方 法,兰 色 部 分 为 解 题 答 案,此 种 方 法 本 人 觉 得 容 易 理 解,不 易 出 错,适 合 初 学 者。3、特 别 说 明:所 有 解
2、法,本 人 均 上 机 验 证 通 过。4、个 别 南 开 题 如 57、100题,题 目 与 原 书 有 所 不 同,是 按 实 际 考 试 的 题 目 所 来,并 对 今 年 在 实 际 上 机 中 出 现 的 考 题,用 红 色 部 分 表 示 实 际 上 机 题 中 的 注 明 事 项。题 目 1请 编 写 一 个 函 数 jsV alue(intm,intk,intxx),该 函 数 的 功 能 是:将 大 于 整 数 m 且 紧 靠 m 的 k个 素 数 存 入 数 组 x x传 回。最 后 调 用 函 数 writeDat()读 取 10组 数 据,分 别 得 出 结 果 且 把
3、 结 果 输 出 到 文 件 out.dat中。部 分 源 程 序 存 在 文 件 p ro g l.c中。例 如:若 输 入 1 7 5 则 应 输 出:19,23,29,31,37。请 勿 改 动 主 函 数 main。和 写 函 数 writeDat()的 内 容。#include#include void readwriteDat();int isP(int m)(int i;for(i=2;im;i+)if(m%i=0)return 0;return 1;void num(int m9int k,int xx)int s=0;for(m=m+l;k0;m+)if(isP(m)xxs+
4、=m;k;)main()int m,n,xx1000;clrscr();printfpnPlease enter two integers:n);scanf(,%d%d,f,&m,&n);num(m,n,xx);fbr(m=O;mn;m-i-+)printf(H%d H,xxm);pr 血 f(”n);readwritcDat();)void readwriteDat()int m,n,xx1000,i;FILE*rf,*wf;rf=fopen(nin.dat,urn);wf=fopen(nout.dat,7,wn);fbr(i=0;i10;i+)fscanf(rf,%d%dH,&m,&n);
5、num(m,n,xx);fbr(m=O;mn;m-H-)fprintf(wf,%d n,xxm);fprintf(wf,Hnn);)fclose(rf);fclose(wf);题 目 2已 知 数 据 文 件 IN.DAT中 存 有 200个 四 位 数,并 已 调 用 读 函 数 readDat()把 这 些 数 存 入 数 组 a中,请 考 生 编 制 函 数 jsV a l(),其 功 能 是:如 果 四 位 数 各 位 上 的 数 字 均 是 0 或 2 或 4 或 6或 8,则 统 计 出 满 足 此 条 件 的 个 数 e n t,并 把 这 些 四 位 数 按 从 大 到 小 的
6、 顺 序 存 入 数 组 b 中。最 后 m ain()函 数 调 用 写 函 数 writeDat。把 结 果 e n t以 及 数 组 b 中 符 合 条 件 的 四 位 数 输 出 到OUT.DAT文 件 中。注 意:部 分 源 程 序 存 在 文 件 p ro g l.c中。程 序 中 已 定 义 数 组:a200,b 2 0 0,已 定 义 变 量:ent请 勿 改 动 数 据 文 件 IN.D A T中 的 任 何 数 据、主 函 数 main。、读 函 数 readDat。和 写 函 数 writeDat。的 内 容。#include#define MAX 200int aMAX
7、,bMAX,cnt=0;void jsVal()int ij,qw,bw,sw,gw;for(i=0;iMAX;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=fbpen(Min.datM,V);fbr(i=0;i MAX;i+)fscanf(fp,%d,&ai);fcl
8、ose(fp);)void main()(int i;readDat();jsVal();printf(满 足 条 件 的 数=%dn”,ent);fbr(i=0;i e n t;i+)printf(n%d,bi);printf(Mnn);writeDat();writeDat()FILE*fp;int i;fp=fopen(nout.datn,Hw);fprintf(fp,n%dnn,ent);fbr(i=0;i e n t;i-f-b)fprintf(fp,H%dnH,bi);fclose(fp);)题 目 3函 数 ReadDat()实 现 从 文 件 IN.DAT中 读 取 一 篇 英
9、 文 文 章 存 入 到 字 符 串 数 组 x x中;请 编 制 函 数 S tr O R(),其 函 数 的 功 能 是:以 行 为 单 位 依 次 把 字 符 串 中 所 有 小 写 字 母。左 边 的 字 符 串 内 容 移 到 该 串 的 右 边 存 放,然 后 把 小 写 字 母。删 除,余 下 的 字 符 串 内 容 移 到 一 处 理 字 符 串 的 左 边 存 放,之 后 把 已 处 理 的 字 符 串 仍 按 行 重 新 存 入 字 符 串 数 组 XX中。最 后 main()函 数 调 用 函 数 WriteDat()把 结 果 x x输 出 到 文 件 OUT5.DAT
10、中。原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。注 意:部 分 源 程 序 存 放 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat()的 内 容。#include#include#include char xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void StrOR(void)int i,rig
11、hto1同 k;char tem80;for(i=0;i=0;j-)k=0;memset(tem,0,80);if(xxijj=,o)righto=j;for(s=righto+1;sstrlen(xxi);s+)temk+=xxi s;for(s=0;srighto;s+)if(xxis!=(o,)temk+=xxi s;strcpy(xxi,tem);else continue;void main()(clrscr();if(ReadDat()printf(数 据 文 件 IN.DAT不 能 打 开!n007);return;StrOR();WriteDat();)int ReadDat(
12、void)(FILE*fp;int i=0;char*p;if(fp=fopen(nIN.DATn,rn)=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;clrscr();fp=fbpen(MOUT5.DATM,nw);fbr(i=0;i maxline;i+)printf(M%snn,xxi);fprintf(fp,n%snM,xxi);)fclose(fp);题 目
13、 4函 数 ReadDat。实 现 从 文 件 IN.DAT中 读 取 一 篇 英 文 文 章 存 入 到 字 符 串 数 组 x x中,请 编 制 函 数 S trO L(),其 函 数 的 功 能 是:以 行 为 单 位 对 行 中 以 空 格 或 标 点 符 号 为 分 隔 的 所 有 单 词 进 行 倒 排。最 后 把 已 处 理 的 字 符 串(应 不 含 标 点 符 号)仍 按 行 重 新 存 入 字 符 串 数 组 x x中,最 后 调 用 函 数 writeDat()把 结 果 x x输 出 到 文 件 OUT6.DAT中。例 如:原 文:You He MeI am a stu
14、dent.结 果:Me He Youstudent a am I原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主:函 数 m ain()读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 writcDat。的 内 容。#include#include#include#include char xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDa
15、t(void);void StrOL(void)int ij,k,s,m9strl;charstr80;for(i=0;i=0;j-)if(isalpha(xxij)k+;else for(m=1;m=k;m+)strs+=xxij+m;k=0;)if(!isalpha(xxij)strs+=*for(m=l;m=k;m+)str s+=xxi j+m;strs=,0,;strcpy(xxi,str);void main()clrscr();if(ReadDat()printff数 据 文 件 IN.DAT不 能 打 开!n007n);return;)StrOL();WriteDat();in
16、t ReadDat(void)FILE*fp;int i=0;char*p;if(fp=fopen(nIN.DATn,nr)=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;clrscr();f=fbpen(”OUT6.DAT,“w”);fbr(i=O;imaxline;i+)printf(M%snn,xxi);fprintf(fp,H%snn,xxi);fclose(f
17、p);题 目 5(整 数 排 序 题)在 文 件 in.dat中 有 2 0 0个 正 整 数,且 每 个 数 均 在 1000至 9999之 间。函 数 ReadDat。读 取 这 200个 数 存 放 到 数 组 a a中。请 编 制 函 数 jsSort。,其 函 数 的 功 能 是:要 求 按 每 个 数 的 后 三 位 的 大 小 进 行 升 序 排 列,然 后 取 出 满 足 此 条 件 的 前 10个 数 依 次 存 入 数 组 b b中,如 果 后 三 位 的数 值 相 等,则 按 原 先 的 数 值 进 行 降 序 排 列。最 后 调 用 函 数 WriteDat()把 结
18、果 b b输 出 到 文 件 out.dat 中 o例:处 理 前 6012 5099 9012 7025 8088处 理 后 9012 6012 7025 8088 5099部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#include int aa200,bb10;void jsSort()(int ij,data;for(i=0;i199;i+)for(j=i+l;jaaj%1000llaai%1000=aa
19、j%1000&aaiaaj)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;)void main()readDat();jsSort();writeDatQ;)readDat()FILE*in;int i;in=fbpen(”in.dat,r);fbr(i=O;i200;i-H-)fscanf(inJ%dJ,&aaiD;fclose(in);writeDat()(FILE*out;int i;clrscr();out=fbpen(,out.dat,nwn);fbr(i=O;i10;i+)printf(n%dn,bbi);fprintf(out,
20、n%dnn,bbi);fclose(out);题 目 6 正 整 数 排 序 在 文 件 in.dat中 有 2 0 0个 正 整 数,且 每 个 数 均 在 1000至 9999之 间。函 数 ReadDat。读 取 这 2 0 0个 数 存 放 到 数 组 a a中。请 编 制 函 数 jsSort。,其 函 数 的 功 能 是:要 求 按 每 个 数 的 后 三 位 的 大 小 进 行 降 序 排 列,然 后 取 出 满 足 此 条 件 的 前 10个 数 依 次 存 入 数 组 b 中,如 果 后 三 位 的 数 值 相 等,则 按 原 先 的 数 值 进 行 升 序 排 列。最 后
21、调 用 函 数 WriteDat()把 结 果 b b 输 出 到 文 件 out.dat 中 o例:处 理 前 9012 5099 6012 7025 8088处 理 后 5099 8088 7025 6012 9012注 意:部 分 源 程 序 已 给 出。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat()的 内 容。#include#include#includeint aa200,bb10;void jsSort()(int i j9data;for(i=0;i199;i+)for(j=i+l;j200;j+)i
22、f(aai%1000aaj)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;void main()readDat();jsSort();writeDat();system(pausen);readDat()FILE*in;int i;in=fbpen(nin.dat,Hr);fbr(i=O;i200;i+)fscanf(in,%d,M,&aai);fclose(in);)writeDat()|FILE*out;int i;clrscr();out=fbpen(,out.dat,;,w,);fbr(i=O;i10;i+)printf(Mi=%d,
23、%dnn,i+l,bbi);mrintf(outj%dn,bbi);fclose(out);题 目 7(结 构 体 操 作 题)已 知 在 文 件 IN.DAT中 存 有 100个 产 品 销 售 记 录,每 个 产 品 销 售 记 录 山 产 品 代 码 dm(字 符 型 4 位),产 品 名 称 me(字 符 型 10位),单 价 dj(整 型),数 量 si(整 型),金 额 je(长 整 型)五 部 分 组 成。其 中:金 额=单 价*数 量 计 算 得 出。函 数 ReadDat()是 读 取 这 100个 销 售 记 录 并 存 入 结 构 数 组 s e ll中。请 编 制 函
24、数 SortDat。,其 功 能 要 求:按 产 品 代 码 从 大 到 小 进 行 排 列,若 产 品 代 码 相 同,则 按 金 额 从 大 到 小 进 行 排 列,最 终 排 列 结 果 仍 存 入 结 构 数 组 se ll中,最 后 调 用 函 数 WriteDat。把 结 果 输 出 到 文 件 OUT6.DAT中。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 m ain()读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 WritcDat。的 内 容。#include#include#include#include#inc
25、lude#define MAX 100typedef struct char dm5;/*产 品 代 码*/char m cll;/*产 品 名 称*/int dj;/*单 价*/int si;/*数 量*/long je;/*金 额*/PRO;PRO sellfMAX;void ReadDat();void WriteDat();void SortDat()int ij;PRO xy;for(i=0;i99;i+)for(j=i+l;j100;j+)if(strcmp(selli.dm,seIljJ.dm)Ollstrcmp(selli.dm,selljJ.din)=O&selliJ.jes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 网络技术 语言 南开 上机 100
限制150内