计算机三级机试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(117页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1已知数据文件IN1.DATU存有200个4位数,并己调用读函数readDal。把这些数存入数组a4,请编制一函数 jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数ent,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat。把结果ent及数组b中符合条件的4位数输出到OUTLDAT文件。注意:部分源程序已给出。程序中已定义数组:a200, b200,已定义变量:ent。请勿改动主函数main。、读函数readDal()和写函数wrileDat()的内容。试题程序:#include #define MAX 200 int aMAX,bMAX
2、,cnt=0; void writeDat();void jsVal()( int ij;int al,a2,a3,a4;int temp;for(i=0;i200;i+)(a4=ai/1000;a3=ai%1000/100;a2=ai%100/10;al=ai%10;if(a4%2!=0& a3%2!=0& a2%2!=0& al%2!=0) bcnt=ai;cnt+;for (i=0;icnt-1; i+)for(j=i+l;jcnt;j+)if(bibj)(temp=bi;bi=bj;bj=temp;)void readDat()(int i;FILE *fp;fp=f open ( I
3、NI. DAT*, nrT,);for(i=0;iMAX;i+)f scanf (fp,d”,&a i ); fclose(fp);void main()(int i;readDat();jsVal ();printf (满足条件的数二%dn,ent);for (i=0;icnt;i+)printf (%dnnzbi);printf (wnM);writeDat ();Ivoid writeDat ()(FILE *fp;int i;fp=fopen(out1.dat,nwn);fprintf (fp,%dnM, ent);for(i=0;icnt;i+)fprintf (fpz w%dn,
4、b i);fclose(fp);)2已知IN2.DAT中存有200个4位数,并已调用读出数readDat。把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数ent,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDatO把结果cm 及数组b中符合条件的4位数输出到OUT2.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a200, b200,已定义变量:cm。请勿改动主函数main。、链函数readDal。和写函数writeDat。的内容。试题程序:
5、#include #define MAX 200int a MAX, b MAX, ent =0;void writeDat();void jsVal()(int i j;int temp;for(i=0;iMAX-5;i+)if(ai%2!=0)for(j=i+l;j=i+5;j+)(if(aiaUDbreak;else if(j=i+5)(bcnt=ai;cnt+;)for(i=0;icnt-l;i+)for(j=i+ljbU)(temp=bi;bi=bj;bj=temp;oid readDat()(int i;FILE *fp;fp = fopen(MIN2.DAT,rw);for(i
6、=0; i MAX; i+) fscanf(fp,%d,&ai); fclose(fp);)void main()(int i;readDat();jsVal();printf (满足条件的数=%dn,ent);for(i=0; i ent; i+) printf(%d , bi); printf(nn);writeDat();void writeDat()FILE *fp; int i;fp = fopen(MOUT2.DATn,w);fprintf (fpr %dn, ent);for (i =0; i ent; i+) fprintf (fp,b i);fclose(fp);)3已知在文
7、件IN3.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm (字符型4位)、产品名称me (字符型10位)、单价dj (整型)、数量si (整型)、金额je (长整型)几部分组成。其中:金额=单价X 数量。函数ReadDal。的功能是读取这HX)个销售记录并存入结构数组sell中。请编制函数SortDal(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组 sell中,最后调用函数WriteDat。把结果输出到文件OUT3.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDal。和写函数Wr
8、iteDat。的内容。试题程序:#include # include # include #include # define MAX 100/*产品代码*/*产品名称*/*单价*/*数量*/*金额*/typedef struct char dm5;char me11; int dj;int si; long je; PRO;PRO sell MAX; void ReadDat(); void WriteDat ();void SortDat()(nt ij;PRO temp;for(i=0;i99;i+)for(j=i+l;j0)(temp=selli;sell i=sellj;sellj=t
9、emp;)else if(strcmp(selli.mc9sellj.inc)=0) if(selli.jesellj.je)(temp=selli;selli=sellj;sellj=temp;void main()(memset(sell,0, sizeof (sell);ReadDat();SortDat ();WriteDat ();void ReadDat()FILE *fp;char str 80, ch 11;int i;fp = fopen(MIN3.DAT,r); for (i =0; i 100; i+)fgets(str,80, fp);memcpy(selli.dm,
10、str,4);memcpy(selli.me, str +4,10);memcpy(ch, str +14,4); ch4=0;selli.dj = atoi (ch);memcpy(chx str +18,5); ch5=0;selli.si = atoi (ch);selli.je =(long)selli.dj * selli.si;)fclose(fp);void WriteDat()(FILE *fp;int i;fp = fopen(OUT3.DAT, nwn); for (i =0; i 100; i+) fprintf (fp,%s %s %4d %5d %101dn, sel
11、l i.dm, sell i.me, selli.dj,selli.si, selli.je);)fclose(fp);I4函数ReadDatO的功能是实现从文件ENG4.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数 encryptCharO,按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat。把结果xx输出到文件PS4.DAT中。替代关系:f(p)=p*ll mod256(p是数组xx中某一个字符的ASCH值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将f(
12、p)所对应的字符进行替代。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main。、读函数ReadDat。和写函数WriteDal。的内容。试题程序:#include #include #include #include unsigned char xx5080;int maxline =0;/*文章的总行数*/int ReadDat(void); void WriteDat(void);void encryptChar()int ij;int str;char ch;for(i=0;imaxline;i+)(str=strlen(xxi);for
13、(j=0;jstr;j+)(ch=xxij*ll%256;if(ch130) continue;elsexxij=ch;void main()(system(WCLSM);if(ReadDat()(printf (数据文件ENG4. IN不能打开!n007n); return;encryptChar();WriteDat ();int ReadDat(void)(FILE *fp;int i =0;unsigned char *p;if(fp = fopen(nENG4.INn,r)=NULL) return 1; while(fgets(xxi,80, fp)!=NULL)p = strch
14、r(xxir 1n *); if(p)*p =0;i+;)maxline = i;fclose(fp);return 0;void WriteDat(void)(FILE *fp;int i;fp = fopen(MPS4.DAT,w); for(i =0; i maxline; i+)printf (M%sn/ xxi); fprintf (fp,%sn, xxi);) fclose(fp);)5函数ReadDat。的功能是实现从文件IN5.DAT中读取篇英文文章存入到字符串数组xx中。请编制函数 ConvertCharAO,该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下
15、一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符半数组xx中,最后调用函数WriteDat。把结果xx输出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main。、读函数RcadDat()和写函数WritcDat()的内容。试题程序:#include #include #include char xx5080;int maxline
16、=0;/*文章的总行数*/ int ReadDat(void);void WriteDat(void);void ConvertCharA(void)( int ij;int str;for(i=0;imaxline;i+)(str=strlen(xxi);for(j=0;j=a& xxiU=z) if(xxifj=z)xxij=a;elsexxij+=l;void main()(system(nCLSM);if(ReadDat()(printf (数据文件工N5.DAT不能打开!n007”); return;)ConvertCharA();WriteDat ();int ReadDat(vo
17、id)FILE *fp;int i =0;char *p;if(fp = fopen(MIN5.DAT, n 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;system(CLSW);fp = fopen(HOUT5.DAT, nw);for(i =0; i maxline; i+)printf (n%sn, xx i);fprintf(fp
18、,%sn, xxi);) fclose(fp);)6在文件IN6.DAT中有200个正整数,且每个数均在1000至9999之间。函数readDat。的功能是读取这200个数存放到数组aa中。请编制函数jsSort。,该函数的功能是:要求按每个数的后3位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后3位相等的数,则对这些数按原始4位数据进行升序排列。最后调用函数writeDatO把结果bb输出到文件OUT6.DAT中。例如:处理前90125099601270258088处理后50998088702560129012注意:部分源程序已给出。请勿改动主函数main()、读函
19、数readDat。和写函数writeDal。的内容。试题程序:#include #include #include int aa200, bb10; void readDat(); void writeDat ();void jsSort()(int ij;int temp;for(i=0;i199;i+)for(j=i+l;j200;j+)(if(aai%1000aaj)(temp=aai;aai=aaj; aaj=temp;for(i=0;i10;i+) bbi=aai;void main()(readDat ();jsSort ();writeDat ();void readDat()(
20、FILE *in;int i;in = fopen(IN6.DAT, nr);for(i =0; i 200; i+) fscanf(in,”d,”,&aai); fclose (in);void writeDat()(FILE *out;int i;out = fopen(MOUT6.DAT, nwM); system(CLS);for (i =0; i 10; i+)print f (i=%d,%dn*, i +1, bb i ); fprintf(out,%dnz bbi);) fclose(out);)7函数ReadDat()的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 三级 语言 南开 一百
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内