计算机三级上机:适用于三级网络技术、数据库等(南开100题).pdf

上传人:奔*** 文档编号:92971383 上传时间:2023-06-18 格式:PDF 页数:96 大小:14MB
返回 下载 相关 举报
计算机三级上机:适用于三级网络技术、数据库等(南开100题).pdf_第1页
第1页 / 共96页
计算机三级上机:适用于三级网络技术、数据库等(南开100题).pdf_第2页
第2页 / 共96页
点击查看更多>>
资源描述

《计算机三级上机:适用于三级网络技术、数据库等(南开100题).pdf》由会员分享,可在线阅读,更多相关《计算机三级上机:适用于三级网络技术、数据库等(南开100题).pdf(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、全 国 计 算 机 等 级 考 试 三 级 C语 言 上 机 100题 几 点 说 明:请 编 写 一 个 函 数 jsValue(int m,int k,int x x),该 函 数 的 功 能 是:将 大 于 整 数 m 且 紧 靠 m 的 k 个 素 数 存 入 数 组 x x传 回。最 后 调 用 函 数 writeDat。读 取 10组 数 据,分 别 得 出 结 果 且 把 结 果 输 出 到 文 件 out.dat中。部 分 源 程 序 存 在 文 件 p ro g l.c中。例 如:若 输 入 1 7 5 则 应 输 出:19,23,29,31,37。请 勿 改 动 主 函 数

2、 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(MnPlease enter two integers:M);scanf(H%d%d,&m,&n);num(m,n,xx);fbr(m=0;mn;m+)printf(M%d n,xxm);printf(Hnn);readwriteDat();void readwriteDat()int

3、 m,n,xx1000,i;FILE*rf,*wf;rf=fbpen(,in.datM,rM);wf=fbpen(nout.daf7,wn);fbr(i=0;i10;i+)fscanf(rf,M%d%dn,&m,&n);num(m,n,xx);fbr(m=O;mn;m+)fprintf(wf,H%d H,xxm);母 rintRwfJW”);fclose(rf);fclose(wf);题 目 2已 知 数 据 文 件 IN.D A T中 存 有 2 0 0个 四 位 数,并 已 调 用 读 函 数 readDat()把 这 些 数 存 入 数 组 a 中,请 考 生 编 制 一 函 数 jsV

4、al(),其 功 能 是:如 果 四 位 数 各 位 上 的 数 字 均 是。或 2 或 4 或 6 或 8,则 统 计 出 满 足 此 条 件 的 个 数 e n t,并 把 这 些 四 位 数 按 从 大 到小 的 顺 序 存 入 数 组 b 中。最 后 m ain()函 数 调 用 写 函 数 writeDat()把 结 果 e n t以 及 数 组 b 中 符 合 条 件 的 四 位 数 输 出 到 OUT.DAT文 件 中。注 意:部 分 源 程 序 存 在 文 件 p ro g l.c中。程 序 中 已 定 义 数 组:a200,b 2 0 0,已 定 义 变 量:ent请 勿 改

5、 动 数 据 文 件 IN.DAT中 的 任 何 数 据、主 函 数 main()、读 函 数 readDat()和 写 函 数 writeDat()的 内 容。#include#define MAX 200int aMAX,bMAX,ent=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+l=ai;)for(i=0;icnt-l;i+)for(j=i+l;jcnt;j+)if

6、(bibj)qw=bi;bi=bU;brj=qw;void readDat()(int i;FILE*fp;fp=fbpen(in.dat”J r”);fbr(i=0;i MAX;i+)fscanf(fp,%d,&ai);fclose(fp);void main()(int i;readDat();jsVal();printf(满 足 条 件 的 数 二%dn”,ent);fbr(i=0;i e n t;i+)printf(H%d,bi);printf(r,nn);writeDat();writeDat()FILE*fp;int i;fp=fopen(nout.datM,nw);fprintf

7、iffp,n%dnn,ent);fbr(i=0;i c n t;i+)fprintf(fp,H%dnn,bi);fclose(fp);*-H 3函 数 ReadDat()实 现 从 文 件 IN.DAT中 读 取 一 篇 英 文 文 章 存 入 到 字 符 串 数 组 x x中:请 编 制 函 数 StrOR(),其 函 数 的 功 能 是:以 行 为 单 位 依 次 把 字 符 串 中 所 有 小 写 字 母。左 边 的 字 符 串 内 容 移 到 该 串 的 右 边 存 放,然 后 把 小 写 字 母。删 除,余 下 的 字 符 串 内 容 移 到 已 处 理 字 符 串 的 左 边 存

8、放,之 后 把 已 处 理 的 字 符 串 仍 按 行 重 新 存 入 字 符 串 数 组 x x中。最 后 main。函 数 调 用 函 数 WriteDat。把 结 果 x x输 出 到 文 件 OUT5.DAT中。原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。注 意:部 分 源 程 序 存 放 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#inclu

9、de char xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void StrOR(void)int i,rightoj,s,k;char tem80;for(i=0;i=0;j-)k=0;memset(tem,0,80);if(xxij=*o)righto=j;for(s=righto+l;sstrlen(xxi);s+)temk+=xxisl;for(s=0;srighto;s+)if(xxis!=,o,)temk+=xxi s;strcpy(xxi,tem);)else continue

10、;void main()clrscr();if(ReadDat()printf(数 据 文 件 IN.DAT不 能 打 开!n007);return;StrOR();WriteDat();int ReadDat(void)(FILE*fp;int i=0;char*p;if(fp=fbpenCIN.DATn,rn)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi,*n);if(p)*P=0;i f|maxline=i;fclose(fp);return 0;void WriteDat(void)FILE*fjp;int i;clr

11、scr();fjp=fdpen(OUT5.DAT“,“w”);fbr(i=0;i maxline;i+)printf(M%snu,xxi);fprintf-sn”,xxi);fclose(fp);题 目 4函 数 ReadDat。实 现 从 文 件 IN.DAT中 读 取 一 篇 英 文 文 章 存 入 到 字 符 串 数 组 x x中,请 编 制 函 数 S trO L(),其 函 数 的 功 能 是:以 行 为 单 位 对 行 中 以 空 格 或 标 点 符 号 为 分 隔 的 所 有 单 词 进 行 倒 排。最 后 把 已 处 理 的 字 符 串(应 不 含 标 点 符 号)仍 按 行

12、重 新 存 入 字 符 串 数 组 x x中,最 后 调 用 函 数 writeDat。把 结 果 x x输 出 到 文 件 OUT6.DAT中。例 如:原 文:You He MeI am a student.结 果:Me He Youstudent a am I原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 m ain()读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 writeDat()的 内 容。#in

13、clude#include#include#include char xx5080;int maxiine=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void StrOL(void)int ij,k,s,m,strl;char str80;for(i=0;i=O;j-)if(isalpha(xxifj)k+;else for(m=l;m=k;m+)strs+=xxij+ni;k=0;)if(!isalpha(xxij)strs+=*;)for(m=l;m=k;m+)strs+=xxij+m;strs=0;strcpy(xxi,

14、str);void main()clrscr();if(ReadDat()printf(数 据 文 件 IN.DAT不 能 打 开!n007H);return;StrOL();WriteDat();int ReadDat(void)|FILE*fp;int i=0;char*p;if(fjp=fbpen(,IN.DAT,r,)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi,n,);if(p)*p=O;i+;maxline=i;fclose(fp);return 0;void WriteDat(void)(FILE*fp;int

15、i;clrscr();fp=fbpen(nOUT6.DAT,7,wn);fbr(i=O;imaxline;i+)printf(M%snn,xxi);fprintf(fp,n%snn,xxi);fclose(fp);题 目 5(整 数 排 序 题)在 文 件 in.dat中 有 2 0 0个 正 整 数,且 每 个 数 均 在 1000至 9999之 间。函 数 ReadDat。读 取 这 200个 数 存 放 到 数 组 a a中。请 编 制 函 数 jsS o rtO,其 函 数 的 功 能 是:要 求 按 每 个 数 的 后 三 位 的 大 小 进 行 升 序 排 列,然 后 取 出 满

16、足 此 条 件 的 前 10个 数 依 次 存 入 数 组 b b中,如 果 后 三 位 的 数 值 相 等,则 按 原 先 的 数 值 进 行 降 序 排 列。最 后 调 用 函 数 WriteDat。把 结 果 b b输 出 到 文 件 out.dat中。例:处 理 前 6012 5099 9012 7025 8088处 理 后 9012 6012 7025 8088 5099部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat()的 内 容。#include#i

17、nclude#include int aa200,bb10;void jsSortO(int ij,data;for(i=0;i199;i+)for(j=i+l;jaaj%1000llaai%1000=aaj%1000&aaiaaj)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;void main()readDat();jsSort();writeDat();readDat()(FILE*in;int i;in=fopen(,in.dat,7,r);fbr(i=O;i200;i+)fscanf(in,%d,M,&aai);fclose(in)

18、;writeDat()FILE*out;int i;clrscr();out=fopen(,out.dat,nwn);fbr(i=O;i10;i+)printf(M%dn,bbi);fprintf(out,n%dnn,bbi);fclose(out);题 目 6 正 整 数 排 序 在 文 件 in.dat中 有 200个 正 整 数,且 每 个 数 均 在 1000至 9999之 间。函 数 ReadDat()读 取 这 200个 数 存 放 到 数 组 a a中。请 编 制 函 数 jsS o rtO,其 函 数 的 功 能 是:要 求 按 每 个 数 的 后 三 位 的 大 小 进 行

19、降 序 排 列,然 后 取 出 满 足 此 条 件 的 前 10个 数 依 次 存 入 数 组 b 中,如 果 后 三 位 的 数 值 相 等,则 按 原 先 的 数 值 进 行 升 序 排 列。最 后 调 用 函 数 WriteDat。把 结 果 b b输 出 到 文 件 outdat中。例:处 理 前 9012 5099 6012 7025 8088处 理 后 5099 8088 7025 60129012注 意,部 分 源 程 序 已 给 出 O请 勿 改 动 主 函 数 m ain()读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 WriteDat。的 内 容。#in

20、clude#include#includeint aa200,bb10;void jsSort()(int iJ,data;for(i=0;i199;i+)for(j=i+l;j200;j+)if(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=fopen(nin.dat,7,r);fbr(i=O;i200;i+)fscanf(in,%d,n,&aai);f

21、close(in);writeDat()FILE*out;int i;clrscr();out=fopen(,out.dat,nwn);fbr(i=O;i10;i+)printf(,i=%d,%dn,i+l,bbi);用 rintf(outj%dn”,bbi);fclose(out);题 目 7(结 构 体 操 作 题)已 知 在 文 件 IN.DAT中 存 有 100个 产 品 销 售 记 录,每 个 产 品 销 售 记 录 山 产 品 代 码 dm(字 符 型 4 位),产 品 名 称 me(字 符 型 10位),单 价 dj(整 型),数 量 si(整 型),金 额 je(长 整 型)五

22、 部 分 组 成。其 中:金 额=单 价*数 量 计 算 得 出。函 数 ReadDat()是 读 取 这 100个 销 售 记 录 并 存 入 结 构 数 组 se ll中。请 编 制 函 数 SortD at(),其 功 能 要 求:按 产 品 代 码 从 大 到 小 进 行 排 列,若 产 品 代 码 相 同,则 按 金 额 从 大 到 小 进 行 排 列,最 终 排 列 结 果 仍 存 入 结 构 数 组 se ll中,最 后 调 用 函 数 WriteDat()把 结 果 输 出 到 文 件 OUT6.DAT 中。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改

23、 动 主 函 数 main,)、读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#include#include#include#define MAX 100typedef struct char dm5;/*产 品 代 码*/char 产 品 名 称*/int dj;/*单 价*/int si;/*数 量*/long je;/*金 额*/PRO;PRO sellfMAX;void ReadDat();void WriteDat();void SortDat()int ij;PRO xy;for(i=0;i99;i

24、+)for(j=i+l;j100;j+)if(strcmp(selli.dm,sellj.dm)Ollstrcmp(selli.dm,sellj.dm)=O&selli.jesellj.je)xy=selli;sell i=sellj;sellj=xy;void main()memset(sell,0,sizeof(sell);ReadDat();SortDat();WriteDat();void ReadDat()FILE*fp;char str80,chll;int i;fp=fbpen(HIN.DAT,r);fbr(i=0;i100;i+)fgets(str,80,fp);memcpy(

25、sel 1 i.dm,str,4);memcpy(selli.mc,str+4,10);memcpy(ch,str+14,4);ch4=0;selli.dj=atoi(ch);memcpy(ch,str+18,5);ch5=0;selli.sl=atoi(ch);selli.je=(long)selli.dj*selli.sl;fclose(fp);void WriteDat(void)(FILE*fp;int i;fp=fbpen(,OUT6.DAT,;wn);fbr(i=O;il 00;i+)printf(H%s%s%4d%5d%5dnn,selli.dm,selli.mc,selli.d

26、j,selli.sl,selli.je);fprintf(fp,M%s%s%4d%5d%5dnM,selli.dm,selli.mc,selli.dj,selli.sl,selli.je);)fclose(fp);题 目 8(字 符 替 换 题)函 数 ReadDat。实 现 从 文 件 E N G IN中 读 取 一 篇 英 文 文 章,存 入 到 字 符 串 数 组 x x中;请 编 制 函 数 encryptChar。,按 给 定 的 替 代 关 系 对 数 组 x x中 的 所 有 字 符 进 行 替 代,仍 存 入 数 组 x x的 对 应 的 位 置 上,最 后 调 用 函 数 W

27、riteDat。把 结 果 x x输 出 到 文 件 PS1,DAT 中。替 代 关 系:f(p)=p*ll mod 256(p 是 数 组 中 某 一 个 字 符 的 ASCII值,f(p)是 计 算 后 新 字 符 的 ASCH值),如 果 计 算 后 f(p)值 小 于 等 于 3 2或 大 于 1 3 0,则 该 字 符 不 变,否 则 将 f(p)所 对 应 的 字 符 进 行 替 代。(注 意 中 间 变 量 用 无 符 号 整 型),部 分 源 程 序 存 在 文 件 p ro g l.c中。原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个

28、 字 符。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat()和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#include#include unsigned char xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void encryptChar()int ij;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*ll%256130)continue;else xxij=

29、xxij*ll%256;void main()clrscr();if(ReadDat()printf(数 据 文 件 EN G IN不 能 打 开!n007f,);return;encryptChar();WriteDat();int ReadDat(void)(FILE*fp;int i=0;unsigned char*p;if(fp=fbpen(,eng.inn,r,)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi,n,);if(p)*p=O;i+;maxline=i;fclose(fp);return 0;void Wri

30、teDat(void)(FILE*fp;int i;fp=fopen(npsl.dat,nw);fbr(i=O;imaxline;i+)printf(M%snH,xxi);Srintf(中,sn”,xxi);fclose(fp);题 目 9(字 符 串 排 序 题)函 数 ReadDat()实 现 从 文 件 IN.DAT中 读 取 一 篇 英 文 文 章 存 入 到 字 符 串 数 组 x x中,请 编 制 函 数 SortC harD(),其 函 数 的 功 能 是:以 行 为 单 位 对 字 符 按 从 大 到 小 的 顺 序 进 行 排 序,排 序 后 的 结 果 仍 按 行 而 新

31、存 入 字 符 串 数 组 x x中,最 后 调 用 函 数 writeDat()把 结 果 x x输 出 到 文 件 OUT2.DAT中。例:原 文:dAe,BfC.CCbbAA结 果:fedCBA.bbCCAA原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。部 分 源 程 序 存 在 文 件 p ro g l.c中 o请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 writeDat。的 内 容。#include#include#include char

32、xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void SortCharD(void)int ij,k,strl;char ch;for(i=0;imaxline;i+)strl=strlen(xxi);for(j=0;jstrl-l;j+)for(k=j+l;kstrl;k+)if(xxiUxxik)ch=xxijl;xxijl=xxik;xxik=ch;)void main()(clrscr();if(ReadDat()printf(数 据 文 件 IN.DAT不 能 打 开!n007n)

33、;return;)SortCharD();WriteDat();int ReadDat(void)FILE*fp;int i=0;char*p;if(fy=fbpen(,IN.DAT,7,rn)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi,n,);if(p)*p=O;i-H-;)maxline=i;fclose(fp);return 0;)void WriteDat(void)FILE*fp;int i;fp=fbpen(nOUT2.DAT,7,wn);fbr(i=O;imaxline;i+)printf(%snn,xxi);

34、fclose(fp);题 目 10(替 换 字 符 题)函 数 ReadDat。实 现 从 文 件 IN.DAT中 读 取 一 篇 英 文 文 章 存 入 到 字 符 串 数 组 x x中,请 编 制 函 数 ConvertCharA(),其 函 数 的 功 能 是:以 行 为 单 位 把 字 符 串 中 的 所 有 小 写 字 母 改 写 成 该 字 母 的 下 一 个 字 母,如 果 是 字 母 z,则 改 写 成 字 母 a。大 写 字 母 仍 为 大 写 字 母,小 写 字 母 仍 为 小 写 字 母,其 他 字 符 不 变。把 已 处 理 的 字 符 串 仍 按 行 重 新 存 入

35、字 符 串 数 组 x x中,最 后 调 用 函 数 writeDat。把 结 果 x x输 出 到 文 件 OUT1.DAT中。例:原 文:Adb.Bcdzaabck.LLhj结 果:Aec.Bdeabbcdl.LLik原 始 数 据 文 件 存 放 的 格 式 是:每 行 的 宽 度 均 小 于 8 0个 字 符,含 标 点 符 号 和 空 格。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 writeDat。的 内 容。#include#include#include ch

36、ar xx5080;int maxline=0;/*文 章 的 总 行 数*/int ReadDat(void);void WriteDat(void);void ConvertCharA(void)int ij;for(i=0;imaxline;i+)for(j=0;j=,a,&xxij=,y,)xxij+=l;)void main()(clrscr();if(ReadDat()printf(数 据 文 件 IN.DAT不 能 打 开!n007n);return;ConvertCharA();WriteDat();int ReadDat(void)(FILE*fp;int i=0;char*

37、p;if(fp=fopen(,IN.DATM,r,)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)p=strchr(xxi/n,);if(p)*p=O;i+;maxline=i;fclose(fp);return 0;void WriteDat(void)(FILE*fp;int i;clrscr();fp=fbpen(HOUTl.DATn,Mwn);for(i=O;imaxline;i-H-)printf(M%snn,xxi);fjprin氓 中,“sn”,xxi);fclose(fp);*题 目 1 1(字 符 串 字 母 移 位 题)程 序 p

38、ro g l.c的 功 能 是:把 s 字 符 串 中 的 所 有 字 母 改 写 成 该 字 母 的 下 一 个 字 母,字 母 z 改 写 成 字 母 a。要 求 大 写 字 母 仍 为 大 写 字 母,小 写 字 母 仍 为 小 写 字 母,其 它 字 符 不 做 改 变。请 考 生 编 写 函 数 chg(char*s)实 现 程 序 要 求,最 后 调 用 函 数 readwriteDAT()把 结 果 输 出 到 文 件 b c l.o u t中。例 如:s 字 符 串 中 原 有 的 内 容 为:M n.l2 3 Z x y,则 调 用 该 函 数 后,结 果 为:No.l23A

39、yzo注 意:部 分 源 程 序 存 在 文 件 progl.c文 件 中。请 勿 改 动 主 函 数 m ain()和 输 出 数 据 函 数 readwriteDAT()的 内 容。#include#include#include#include#define N 81void readwriteDAT();void chg(char*s)int I;for(I=0;I=,a,&si=,A,&si=,Y)si+=l;m ain()char aN;clrscr();printfifMEnter a string:”);gets(a);printff The original string i

40、s:);puts(a);chg(a);printfCThe string after modified:);puts(a);readwriteDAT();void readwriteDAT()(int i;char aN;FILE*rf,*w f;rf=fopen(bcl.in,V);w f=fopen(nbcl.outn,nwn);fbr(i=0;i 50;i+)fscanf(rf,s”,a);chg(a);SrintRwf,sn”,a);|fclose(rf);fclose(wf);题 目 12(结 构 体 运 算 题 题)已 知 在 文 件 IN.DAT中 存 有 100个 产 品 销

41、售 记 录,每 个 产 品 销 售 记 录 山 产 品 代 码 dm(字 符 型 4 位),产 品 名 称 me(字 符 型 10位),单 价 dj(整 型),数 量 si(整 型),金 额 je(长 整 型)五 部 分 组 成。其 中:金 额=单 价*数 量 计 算 得 出。函 数 ReadDat()是 读 取 这 100个 销 售 记 录 并 存 入 结 构 数 组 se ll中。请 编 制 函 数 S ortD at(),其 功 能 要 求:按 产 品 名 称 从 小 到 大 进 行 排 列,若 产 品 名 称 相 等,则 按 金 额 从 小 到 大 进 行 排 列,最 终 排 列 结

42、果 仍 存 入 结 构 数 组 se ll中,最 后 调 用 函 数 WriteDat()把 结 果 输 出 到 文 件 OUT5.DAT中。部 分 源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#include#include#include#define MAX 100typedef struct char dm5;/*产 品 代 码*/char m cll;/*产 品 玄 森*/int dj;/*单 价*/int si

43、;/*数 量*/long je;/*金 额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()int ij;PRO xy;for(i=0;i99;i+)for(j=i+l;jOllstrcmp(selIi.mc,sellj.mc)=O&selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;void main()memset(sell,0,sizeof(sell);ReadDat();SortDat();WriteDat();void ReadDat()FILE*fp;char st

44、r80,chll;int i;fp=fbpen(nIN.DAT,rn);fdr(i=O;ilOO;i+)fgets(str,8O,fp);memcpy(sell i.dm,str,4);memcpy(selli.mc,str+4,10);memcpy(ch,str+14,4);ch4=0;selli.dj=atoi(ch);memcpy(ch,str+l 8,5);ch5=0;selli.sl=atoi(ch);selli.je=(long)selli.dj*selli.sl;fclose(fp);void WriteDat()FILE*fp;int i;fp=fbpen(HOUT5.DAT,

45、7,wM);for(i=0;i100;i+)printf(n%s%s%4d%5d%5dn,selli.dm,selli.mc,selli.dj,selli.sl,selli.je);fprintf(fp,M%s%s%4d%5d%5dnM,selli.dm,selli.mc,selli.dj,selli.sl,selli.je);fclose(fp);题 目 13(结 构 体 运 算 题)已 知 在 文 件 IN.DAT中 存 有 100个 产 品 销 售 记 录,每 个 产 品 销 售 记 录 山 产 品 代 码 dm(字 符 型 4 位),产 品 名 称 me(字 符 型 10位),单 价

46、dj(整 型),数 量 si(整 型),金 额 je(长 整 型)五 部 分 组 成。其 中:金 额=单 价*数 量 计 算 得 出。函 数 ReadDat()是 读 取 这 100个 销 售 记 录 并 存 入 结 构 数 组 se ll中。请 编 制 函 数 SortD atO,其 功 能 要 求:按 产 品 代 码 从 小 到 大 进 行 排 列,若 产 品 代 码 相 等,则 按 金 额 从 大 到 小 进 行 排 列,最 终 排 列 结 果 仍 存 入 结 构 数 组 sell中,最 后 调 用 函 数 WriteDat()把 结 果 输 出 到 文 件 OUT9.DAT中。部 分

47、源 程 序 存 在 文 件 p ro g l.c中。请 勿 改 动 主 函 数 main。、读 数 据 函 数 ReadDat。和 输 出 数 据 函 数 WriteDat。的 内 容。#include#include#include#include#include#define MAX 100typedef struct char dm5;/*产 品 代 码*/char m cll;/*产 品 宝 球*/int dj;/*单 价*/int si;/*数 量*/long je;/*金 就*/PRO;PRO sellfMAX;void ReadDat();void WriteDat();void

48、 SortDatOint ij;PRO xy;for(i=0;i99;i+)for(j=i+l;jOllstrcmp(selli.dm,sellj.dm)=O&selli.jesellj.je)xy=selli;selli=selljl;sellj=xy;void main()memset(sell,0,sizeof(sell);ReadDat();SortDat();WriteDat();void ReadDat()(FILE*fp;char str8O,chll;int i;fp=fbpen(MIN.DAT,rn);for(i=0;i100;i+)fgets(str,8O,fp);memc

49、py(selli.dm,str,4);memcpy(selli.mc,str+4,10);memcpy(ch,str+14,4);ch4=0;selli.dj=atoi(ch);memcpy(ch,str+18,5);ch5=0;selli.sl=atoi(ch);selli.je=(long)selli.dj*selli.sl;fclose(fp);void WriteDat()FILE*fp;int i;fp=fbpen(,OUT9.DAT,7,wn);fbr(i=0;i100;i+)printf(M%s%s%4d%5d%5dnM,selli.dm,selli.mc,selli.dj,se

50、lli.sl,selli.je);fprintfiffp/s%s%4d%5d%5dn selli.dm,selli.mc,selli.dj,selli.sl,selli.je);|fclose(fp);题 目 14(整 数 统 计 排 序 题)已 知 数 据 文 件 IN.DAT中 存 有 2 0 0个 四 位 数,并 已 调 用 读 函 数 readDat。把 这 些 数 存 入 数 组 a 中,请 考 生 编 制 一 函 数 jsVal。,其 功 能 是:依 次 从 数 组 a 中 取 出 个 四 位 数,如 果 该 四 位 数 连 续 大 于 该 四 位 数 以 后 的 五 个 数 且

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁