版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三级网络机武考题及普案上半部分第一遣已知数据文件IN1.DAT中存有200个4位数,并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数ent,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果ent及数组b中符合条件的4位数输出到OUT1.DAT文件。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ent。请勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()inti,j;intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)j/*定义循环控制变■鼠*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变鼠*//*逐个取每•个4位数*/ia4=a[i]/1000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*求4位数的千位数字*//*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*/if(a4%2!=0&&a3%2!=0&&a2%2!=0&&al%2!=0)/*如果4位数各位上的数字均是奇数*/b[cnt]=a[i];cnt++;))for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*将满足条件的数存入数组b+*//*统计满足条件的数的个数*//*将数组b中的数按从大到小的顺序排列*/if(b[i]<b[j])(temp=b[i];b[i]=bUl;b[j]=temp;inti;FILE*fp;fp=fopen("IN1.DAT'W);for(i=0;i<MAX;i++)fscanf(fp;'%d'\&a[il);fclose(fp);)voidmain()(inti;readDat();jsVal();printf("满足条件的数=%d\iT,cnt);for(i=0;i<cnt;i++)printfC'%d\n",b[i]);printf(,,\nM);writeDat();1voidwriteDat()(FILE*fp;inti;fp=fopen(Moutl.dat,,;,wH);fprintf(fp,"%d\n",cnt);for(i=O;i<cnt;i++)fprintf(fp;'%d\n'\b[i]);fclose(fp);)第二道已知IN2.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数ent,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent及数组b中符合条件的4位数输出到OUT2.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ent。请勿改动主:函数main。、读函数readDat。和写函数writeDat()的内容。#include<stdio.h>#defineMAX200inta[MAX],b[MAX],ent=0;voidwriteDat();voidjsVal()intij;inttemp;for(i=0;i<MAX-5;i++)if(a[i]%2!=0)for(j=i+l;j<=i+5;j++){if(a[i]<aUl)break;/*定义循环控制变量*//*定义数据交换是的暂存变量*//*逐个取每个4位数*//*如果当前数是奇数*//*取该数后面的5个数进行比较*//*如果当前数不满足比后面5个数都大的条件,则跳出循环*/elseif(j==i+5){b[cnt]=a[i];cnt++;}}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bUJ)(/*如果当前数比后面的5个数都大*//*将满足条件的数存入数组b中*//*并统计满足条件的数的个数*//*利用选择法对b数组中的元素进行从小到大的排序*/temp=h[i];b[i]=bU];b[j]=temp;))voidreadDat()(inti;FILE*fp;fp=fopen(,,IN2.DAT'\Hrn);for(i=0;i<MAX;i++)fscanf(fp,&a[i]);fclose(fp);)voidmain()(inti;readDat();jsValO;printf("满足条件的数=%d\n”,ent);for(i=0;i<ent;i++)printf("%d",b[i]);printf(H\nH);writeDatO;
FILE*fp;inti;fp=fopenCOUT2.DAT“,“w“);fprintf(fp,,,%d\n,,,cnt);for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);J第三道已知在文件IN3.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、金额je(长整型)几部分组成。其中:金额=单价X数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat。,其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组seH中,最后调用函数WrileDal。把结果输出到文件OUT3.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数WriieDal。的内容。#include<stdio.h>#include<memory.h>#include<string.h>#include<stdlib.h>#deHneMAX100typedefstruct{chardm[5];/*产品代码*/charmc[ll];/*产品名称*/intdj;/*单价*/intsi;/*数量♦/longje;/*金额*/}PRO;PROsell[MAX];voidReadDaK);voidWriteDatO;voidSortDatO/*定义循环控制变量/*定义循环控制变量产定义数据交换时的暂存变量(这里是PRO类型的结构体变量)*//*利用选择法进行排序*/intij;PROtemp;for(i=0;i<99;i++)for(j=i+l;j<100;j++)if(strcmp(sell[i].mc,sell[j].mc)>0)/*按产品名称从小到大进行排列*/temp=sell[i];sell[i]=sell[j];selHj]=temp;elseif(strcmp(sell[i].nic,sell|j].mc)==O) /*若产品名称相同*/if(sell[i].je>seil[j].je) /*则按金额从小到大进行排列*/(temp=sell[i];se!l[i]=selHj];sell[j]=temp;}Jvoidmain(){memset(sell,0,sizeof(sell));ReadDatO;SortDat();WriteDatO;}voidReadDatO{FILE*fp;charstr[80],ch[ll];inti;fp=fopen(nIN3.DATH,HrH);for(i=0;i<100;i++)(fgets(str,80,fp);memcpy(sell[i].dm,sti;4);memcpy(sell(i].mc,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].sl;)fclose(fp);)voidWriteDatO(FILE*fp;inti;fp=fopenCOUT3.DAT“,“w");for(i=0;i<100;i++)(fprintf(fp,M%s%s%4d%5d%10ld\n'\sell[i].dm,sell[i].mc,sell[i].dj^ell[i].sl9seU[i]Je);fclose(fp);
第四道函数ReadDat。的功能是实现从文件ENG4.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar。,按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat。把结果xx输出到文件PS4.DAT中。替代关系:f(p)=p*llmod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大了130,则该字符不变,否则将f(p)所对应的字符进行替代。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符.请勿改动主函数main。、读函数ReadDat。和写函数WriteDat。的内容。#include<stdio.h>#include<string.h>#include<ctype.h>#include<stdlib.h>unsignedcharxx[50][80];intmaxline=0;/♦文章的总行数♦/intReadDat(void);voidWriteDat(void);voidencryptCharO(/*定义循环控制变量/*定义循环控制变量*//*存储字符串的长度*//*存储当前取得的字符*//*以行为单位获取字符*//*求得当前行的字符串长度*//*依次取每行的各个字符*/intstr;charch;for(i=0;i<maxline;i++){str=strlen(xx[i]);for(j=0;j<str;j++){ch=xx[i]lj]*ll%256;if(ch<=32IIch>130)continue; /*如果计算后的值小于等于32或大于130,则该字符不变*/elsexx[i]U]=ch; /*否则将所对应的字符进行替代*/voidmain(){systemC'CLS");if(ReadDat())print”"数据文件ENG4.IN不能打开!\n\007");return;encryptChar();WriteDatO;}intReadDat(void)(FILE*fp;inti=0;unsignedchar*p;if((fp=fopen(,,ENG4.INH,HrM))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL)(p=strchr(xx[i],*\n');if(p)*p=0;i++;)maxline=i;fclose(fp);return0;)voidWriteDat(void)(FILE*fp;inti;fp=fopen("PS4.DATH,HwH);for(i=0;i<maxline;i++)(printf(H%s\nH,xx[i]);fprintf(fp,,'%s\n,,,xx[i]);)fclose(fp);)第五道函数ReadDat。的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharAO,该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的卜一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符半数组xx中,最后调用函数WriteDatO把结果xx输出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主二函数main。、读函数ReadDatO和写函数WriteDatO的内容。#include〈string.h>#inchide<stdlib.h>charxx[50J[80];intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidConvertCharA(void)intij;intstr;for(i=0;i<maxline;i++)intij;intstr;for(i=0;i<maxline;i++)/*定义循环控制变量力
产存储字符串的长度财/*以行为单位获取字符*/str=strlen(xx[i]);/*求得当前行的字符串的长度号for(j=0;j<str;j++)=n&&xx[i](j]<='z,)"如果是小写字母*/xx[i][j]=W;尸如果是小写字母Z,则改写成字母a*/xx[i][j]+=l; "其他的小写字母则改写为该字母的下一个字母*/voidmain。|system(nCLSn);if(ReadDat())(printf("数据文件IN5,DAT不能打开八n\007");return;)ConvertCharAO;WriteDat();}intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen(,,IN5,DATH,HrH))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL)(p=strchr(xx[i],*\n');if(p)*p=0;i++;
maxline=i;fclose(fp);return0;voidWriteDat(void)FILE*fp;inti;system(HCLSM);fp=fopen(HOUT5.DATM,MwM);for(i=0;i<maxline;i++)printf("%s\n",xx[i]);fprintf(fp,M%s\nM,xx[i]);fclose(fp);第六道在文件1N6.DAT中有200个正整数,且每个数均在1000至9999之间。函数readDat。的功能是读取这200个数存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按每个数的后3位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后3位相等的数,则对这些数按原始4位数据进行升序排列。最后调用函数writeDat。把结果bb输出到文件OUT6.DAT中。例如:处理前90125099601270258088处理后50998088702560129012注意:部分源程序己给出。请勿改动主函数main。、读函数rcadDat()和写函数writcDat请勿改动主函数main。、#include<stdio.h>#include#include<string.h>#include<stdio.h>#include#include<string.h><stdlib.h>intaa[200],bb[10];voidreadDat();voidwriteDat();voidjsSort()intij;inttemp;for(i=0;i<199;i++)intij;inttemp;for(i=0;i<199;i++)/*定义数据交换时的暂存变量*//*用选择法对数组进行排序*/for(j=i+l;j<200y++)/*按照每个数的后3位大小进行降序排序*/if(aa[i]%/*按照每个数的后3位大小进行降序排序*/temp=aa(i];aa[i]=aa[j];aa[j]=tenip;elseif(aa[i]%1000==aa[j]%1000)如果后3位数相等列if(aa[i]>aaU]) 则要按原4位数的值进行升序排序可(temp=aa[i];aa[i]=aa|j];aa[j]=teiiip;))for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/bb[i]=aa[i];}voidmain()(readDat();jsSortO;writeDatO;)voidreadDat()(FILE*in;inti;in=fopen("IN6.DATH,Hr°);for(i=0;i<200;i++)fscanf(in,&aa[i]);fclose(in);)voidwriteDatO(FILE*out;inti;out=fopenCOUT6.DAT,;system(nCLSH);for(i=0;i<10;i++)(printf(Hi=%d,%d\nH,i+1,bb[i]);fprintf(out,H%d\nM,bb[i]);)fclose(out);}第七道函数ReadDat。的功能是实现从文件【N7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT7.DAT中。
例如,原文:dAe,BfCCCbbAA结果:fedCBA,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格注意:部分源程序已给出。请勿改动主函数main()、读函数RcadDat()和写函数WritcDat()的内容。#include<stdio.h>#include<string.h>#include<stdlib.h>charxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidSortCharDO{/*定义循环控制变量/*定义循环控制变量*//*存储字符串的长度*//*定义数据交换时的暂存变量*//*以行为单位获取字符*//*求得当前行的字符串长度*//*对字符按从大到小的顺序进行排序*/intstr;chartemp;for(i=0;i<maxline;i++){str=strlen(xx[i]);for(j=0;j<str-l;j++)for(k=j+1;k<str;k++)if(XX[i]U]<XX[i][k])(temp=xx[i]|j];xx[i][j]=xx[i][k];xx[i][k]=temp;voidmain(){system(nCLSH);if(ReadDatO)printfT数据文件IN7.DAT不能打开!\n\007”);return;SortCharDO;WriteDatO;}intReadDat(void)(FILE*fp;inti=0;char*p;if((fp=fopen(,,IN7.DAT",,,r,'))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],*\n*);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;}voidWriteDatO{FILE*fp;inti;system(MCLSH);fp=fopen(,,OUT7.DAT,\"wn);for(i=0;i<maxline;i++)(printf("%s\iT,xx[iD;fprintf(fp,"%s\n",xx[i]);)fclose(fp);}第八道对10个候选人进行选举,现有一个100条记录的选票数据文件IN8.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依次类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小于等于5个人时则被认为是无效的选票。给定函数ReadDatO的功能是把选票数据读入到字符半数组xx中。请编制函数CountRs。来统计每个人的选票数并把得票数依次存入yy[O]到yy[9]中,最后调用函数WriteDat()把结果yy输出到文件OUT8.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数WriteDatO的内容。
#include<stdio.h>#include<memory.h>charxx[100][ll];intyy[10];intReadDat(void);voidWriteDat(void);voidCountRs(void){/*定义循环控制变量*//*/*定义循环控制变量*//*用来存储每张选票中选中人数,以判断选票是否有效*//*初始化数组yy*//*依次取每张选票进行统计*//*初始化计数器变量*//*统计每张选票的选中人数ent*//*当ent值大于5时为有效选票*//*统计有效选票*/intent;for(i=0;i<10;i++)yy[i]=o;for(i=0;i<100;i++){cnt=0;for(j=0;j<10;j++)if(xx[i][j]==T)cnt++;if(cnt>5)(for(j=0;j<10;j++)if(xx[i]U]==*r)yy[j]++;voidmain(){inti;for(i=0;i<10;i++)yy[i]=0;if(ReadDat())printf("选票数据文件IN8.DAT不能打开!\007\iT);return;}CountRsO;WriteDatO;)intReadDat(void)(FILE*fp;inti;chartt[13];
if((fp=fopenCIN8.DAT“,"「"))==NULL)return1;for(i=0;i<100;i++){if(fgets(tt,13,fp)==NULL)return1;memcpy(xx[i],tt,10);}fclose(fp);return0;}voidWriteDat(void){FILE*fp;inti;fp=fopen(MOUT8.DATH,HwH);for(i=0;i<10;i++)(fprintf(fp9H%d\nH,yy[i]);printf("第%d个人的选票数=%d\n”,i+1,yy[i]);}fclose(fp);)第九道下列程序的功能是:利用以下所示的简单迭代方法求方程:cos(x)・x=0的一个实根。xn+l=cos(xn)迭代步骤如F:(1)取xl初值为0.0。x0=xl,把xl的值赋给x0。xl=cos(x0),求出一个新的xl。(4)若x0・xl的绝对值小于0.000001,执行步骤(5),否则执行步骤(2)。(5)所求xl就是方程cos(x)-x=0的一个实根,作为函数值返回。请编写函数counlVakie()实现程序要求,最后调用函数wrileDAT()把结果输出到文件oul9.dat中。注意:部分源程序已给出。请勿改动主函数main。和写函数writeDAT。的内容。#include<math.h>#include<stdio.h>#include<std!ib.h>voidwriteDAT();floatcountValue()floatx0,x1=0.0;/*floatx0,x1=0.0;/*定义两个浮点型变量进行迭代*/whiled)/*无条件循环率/whiled)xO=xl; /*将xl赋值给xO*/xl=cos(xO); /*求出新的xl*/if(fabs(x0-xl)<le-6)break; /*若xO・xl的绝对值小于0.000001,则结束循环*/}returnxl; /*返回xl的值*/voidmain()(system(,,CLSH);printf(“实根二%f\n",countValue());printf(M%f\nM,cos(countValue())-countValue());writeDAT();voidwriteDAT()(FILE*wf;wf=fopen(',out9.dat,,,Mwn);fprintf(wf,H%f\n,',countValue());fclose(wf);J第十道请编写函数voidcounlVahie(int*a,int*n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。注意:部分源程序已给出。请勿改动主函数main。和写函数writeDAT。的内容。#include<stdio.h>#include<stdlib.h>voidwriteDAT();voidcountValue(int*a,int*n)(inti; /*定义循环控制变量切*n=0; 尸初始化计数器变量*/for(i=l;i<=l()00;i++) /*在这个范围内寻找符合条件的数if((i%7==0&&i%ll!=0)ll(i%7!=0&&i%ll==0))/*如果当前的数可以被7整除而不可以被11整除,或者可以被11整除而不可以被7整除*/{*a=i; /*保存符合条件的数*/*n=*n+l; /*统计个数*/a++;voidmain()(intaa[1000],n,k;system(HCLSM);countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){printf(”%5d”,aa[k]);printf("\nM);}elseprintf(H%5dH,aa[k]);writeDATO;)voidwriteDAT()(intaa[1000],n,k;FILE*fp;fp=fopen(''ouHO.dat“Jw”);countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){fprintf(fpj%5d”,aa[k]);fprintf(fp,,,\nM);)elsefprintf(fp,M%5dH,aa[k]);fclose(fp);)第十一道已知在文件IN11.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat。的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValueO,其功能要求:(1)求出该文件中共有多少个正整数totNum;(2)求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数WriteDat。把所求的结果输出到文件OUT11.DAT中。注意:部分源程序已给出。请勿改动主:函数main。、读函数ReadDat。和写函数WriteDat()的内容。#include<stdio.h>#includc<stdlib.h>#defineMAXNUM200inttotNum=0;/*文件IN11.DAT中共有多少个正整数*/inttotCnt=0;/*符合条件的正整数的个数*/doubletotPjz=0.0;/*平均值*/intReadDat(void);voidWritedat(void);voidCalValue(void)inti;/*定义循环控制变量*/intdata;/*用于保存处理后产生的新数*/for(i=0;i<200;i++)/*逐个取数组XX中的数进行统计*/if(xx[i]>0)/*判断是否正整数*/{totNum++;/*统计正整数的个数*/data=xx[i]»l;/*将数右移一位*/if(data%2==0)/*如果产生的新数是偶数*/(totCnt++;/*统计这些数的个数*/totPjz+=xx[i];}/*并将满足条件的原数求和*/totPjz/=totCnt; /*求满足条件的这些数(右移前的值)的算术平均值*/Jvoidmain(){inti;system(,,CLSH);for(i=0;i<MAXNUM;i++)xx[i]=0;if(ReadDat())(print*"数据文件INU.DAT不能打开!\007\n");return;}CalValueO;printf("文件IN11.DAT中共有正整数=%d个\n”,totNum);printf("符合条件的正整数的个数=%d个\n”,totCnt);printf(”平均值=%.21f\n",totPjz);WritedatO;)intReadDat(void)FILE*fp;inti=0;if((fp=fopen(,,IN11.DATH,Mr"))==NULL)
return1;while(!feof(fp)){fscanf(fp,&xx[i++]);}fclose(fp);return0;JvoidWritedat(void)(FILE*fp;fp=fopen("OUTll.DATH,nwH);fprintf(fp,H%d\n%d\n%.2!f\n",totNum,totCnt,totPjz);fclose(fp);}第十二道已知数据文件IN12.DAT中存有300个4位数,并已调用读函数readDat。把这些数存入数组a中。请编制函数jsValue。,其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat。把数组b中的数输出到OUT12.DAT文件中。例如:6712,64-2=7+1,则该数满足条件,存入数组b中,且个数cnt=cnt+L8129,84-9*1+2.则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a[300].b[300],已定义变量:ent.请勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。#include<stdio.h>inta[300],b[300],cnt=0;voidreadl)at();voidwriteDat();voidjsValue(){/*定义循环控制变量*//*定义循环控制变量*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*//*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*//*如果千位数加个位数等于百位数加十位数*/intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)|a4=a[i]/1000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;if(a4+al==a3+a2)b[cnt]=a[i];/*将满足条件的数存入数组b[cnt]=a[i];/*将满足条件的数存入数组b中*/cnt++;/*cnt++;/*统计满足条件的数的个数ent*/for(i=0;i<cnt-l;i++) /*用选择法对数组b的4位数按从小到大的顺序进行排序*/for(j=i+l;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=bU];b[j]=temp;))voidmain()(inti;readDat();jsValue();writeDat();printf(Hcnt=%d\n,\ent);for(i=0;i<cnt;i++)printf("b[%d]=%d\nH,i,b[i]);Jvoidreadl)at(){FILE*fp;inti;fp=fopen(HIN12.DATH,MrH);for(i=0;i<300;i++)fscanf(fp,H%d,H,&a[i]);fclose(fp);)voidwriteDatO(FILE*fp;inti;fp=fopen(,OUT12.DATH,1w*);fprintf(fp,for(i=0;i<cnt;i++)fprintf(fp,,,%d,\nM,b[i]);fclose(fp);)第十三道已知数据文件IN13.DAT中存有200个4位数,并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的数的个数
ent,并把这些4位数按从大到小的顺序存入数组b中,最后调用”函数writeDat()把结果ent及数组b中符合条件的4位数输出到OUT13.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ent.请勿改动主函数main()、读函数readDat()和写函数writeDat。的内容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],ent=0;voidwriteDaK);voidjsVal()intij;/*定义循环控制变量*/intal,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;i<200;i++){/*逐个取每一个4位数*/a4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/10;/*求4位数的十位数字*/al=a[i]%10;/*求4位数的个位数字*/if(a4%2==0&&a3%2==0&&a2%2==0&&al%2==0)/*如果各位上的数字均是0或2或4或6或8*/b[cnt]=a[i]; /*将满足条件的数存入数组h中*/cnt++; /*统计满足条件的数的个数ent*/for(i=0;i<cnt-l;i++)/*for(i=0;i<cnt-l;i++)/*将数组b中的数按从大到小的顺序排序*/for(j=i+l;j<cnt;j++)if(b[i]<bU])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopenCIN13.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,H%d",&a[i]);fclose(fp);
voidmain()inti;readDatO;jsValO;printf("满足条件的数=%d\n”,ent);for(i=0;i<ent;i++)printf(n%dH,b[i]);printf(M\nM);writeDatO;}voidwriteDatO(FILE*fp;inti;fp=fopen("OUT13.DAT'\Mwn);fprintf(fp, ent);for(i=0;i<ent;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);)第十四道已知数据文件IN14.DAT中存有300个4位数,并已调用读函数readDatO把这些数存入数组a中,请编制一函数jsVakie。,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDatO把数组b中的数输出到OUT14.DAT文件。例如:7153,7+1=54-3,则该数满足条件,存入数组b中,且个数cnt=cnl+L8129,8+1W2+9,则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a[300J,b[300],已定义变量:ent。请勿改动主函数main。、读函数readDal。和写函数writeDal。的内容。#include<stdio.h>inta[300],b[300],cnt=O;voidreadDatf);voidwriteDatO;voidjsValueOintij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)intij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)/*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求/*求4位数的千位数字*//*求4位数的百位数字*/a3=a[i]%1000/100;
/*求4位数的十位数字*//*求/*求4位数的十位数字*//*求4位数的个位数字*//*如果千位数加百位数等于十位数加个位数*//*把满足条件的4位数依次存入数组b中*//*计算满足条件的数的个数号/*对数组b中的4位数按从大到小进行排序*/al=a[i]%10;if(a4+a3==a2+al)(b[cnt]=a[i];cnt++;}}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]<bUJ)(temp=bli];b[i]=bU];b(j]=temp;voidmain()(inti;readDatO;jsValue();writeDatO;printf(Hcnt=%d\nH,ent);for(i=0;i<ent;i++)printf("b[%d]=%d\nH,i,b[i])}voidreadDatO(FILE*fp;inti;fp=fopenCIN14.DAT“,;for(i=0;i<300;i++)fscanf(fp,H%d,M,&a[i]);fclose(fp);)voidwriteDatO{FILE*fp;inti;fp=fopen(,,OUT14.DATM,"wH):fprintf(fp,,,%d\n,,,cnt);for(i=0;i<ent;i++)
fprintf(fp,"%d,\iT,b[i]);fclose(fp);)第十五道已知数据文件inl5.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上.的值,并且此4位数是偶数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent及数组b中符合条件的4位数输出到outl5.dat文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ent。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDat();voidjsVal()(/*定义循环控制变量“//*定义循环控制变量“//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一^b4位数*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4=a[i]/1000; /*求4位数的千位数字*/a3=a[i]%1000/100; /*求4位数的百位数字*/a2=a[i]%100/10; /*求4位数的十位数字*/al=a[i]%10; /*求4位数的个位数字*/if((a4<=a3)&&(a3<=a2)&&(a2<=al)&&(al%2==0))/*如果该数的千位数小于等于百位数,百位数小于等于十位数,十位数小于等于个位数,并且此4位数是偶数*/b[cnt]=a[i]; /*则将该数存入数组b中*//*把数组b中的4/*把数组b中的4位数按从小到大的顺序排列*/for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bU])temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()inti;FILE*fp;fp=fopen(Minl5.datH,,,rH);for(i=0;i<MAX;i++)fscanf(fp,H%d'\&a[i]);fclose(fp);}voidmain()(inti;readDatO;jsVal();printf("满足条件的数=%d\n”,cnt);for(i=0;i<cnt;i++)writeDatO;JvoidwriteDatO(FILE*fp;inti;fp=fopen(''outl5.dat''Jw");fprintf(fp,H%d\n*',cnt);for(i=0;i<cnt;i++)fprintf(fp,M%d\nM,b[i]);fclose(fp);)第十六道已知数据文件IN16.DAT中存有300个4位数,并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsVakie。,其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDatO把数组b中的数输出到OUT16.DAT文件中。例如:9123,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+l。9812,9-8-1-2<0,则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:cn“请勿改动主:函数main。、读函数rcadDatO和写函数writeDatO的内容。inta[300],b[300],cnt=0;voidreadDat();voidwriteDatO;voidjsVaiue()intij;intal,a2,a3,a4;inttemp;for(i=0;i<300;i++){a4=a[i]/10(M);a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*定义循环控制变量*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*//*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*/if(a4-a3-a2-al>0){b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*如果千位数减百位数减十位数减个位数大于零*//*则把该数存入数组b中*//*统计满足条件的数的个数*//*对数组b的4位数按从小到大的顺序进行排序*/if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;)Jvoidmain()(inti;readDatO;jsValue();printf(Hcnt=%d\nn,cnt);writeDatO;for(i=0;i<cnt;i++)printf(',b[%d]=%d\nM,i,b[i]);voidreadDat()FILE*fp;inti;fp=fopen(”IN16.DAT”Jr”);for(i=0;i<300;i++)fscanf(fp,H%d,H,&a[iJ);fclose(fp);voidwriteDat()(FILE*fp;inti;fp=fopen(”OUT16.DAT”Jw”);fprintf(fp,"%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n",b[i]);fclose(fp);}第十七道已知数据文件IN17.DAT中存有300个4位数,并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上数减百位数上的数减十位数上的数大于零的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从大到小的顺序进行排序,最后调用函数writeDat。把数组b中的数输出到OUT17.DAT文件中。例如:1239,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+l。8129,9-8-1-2<0,则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:ent。请勿改动主函数main。、读函数readDal。和写函数wrileDal。的内容。#include<stdio.h>inta[300],b[300],cnt=0;voidrcadDat();voidwriteDat();voidjsValueO(/*定义循环控制变量力/*/*定义循环控制变量力/*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*/尸求4位数的百位数字号/*求4位数的十位数字*//*求4位数的个位数字*/intal,a2,a3,a4;inttemp;for(i=0;i<300;i++)a4HM000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;
if(al-a3-a2-a4>0)/*if(al-a3-a2-a4>0)/*如果个位数减千位数减百位数减十位数大于零*/b[cnt]=a[i];cnt++;/*则将满足条件的数存入数组b中*/b[cnt]=a[i];cnt++;/*统计满足条件的数的个数可for(i=0;i<cnt-l;i++) /*对数组b的4位数按从大到小的顺序进行排序*/for(j=i+l;j<cnt;j++)if(b[i]<bU])(temp=b[i];b[i]=b[j];b[j]=temp;voidmain(){inti;readDat();jsValue();writeDat();printf(,'cnt=%d\n,,,cnt);for(i=0;i<cnt;i++)printf(Mb[%d]=%d\nM,i,b[i]);JvoidreadDat()(FILE*fp;inti;fp=fopen(nIN17.DATH,Hrn);for(i=0;i<300;i++)fclose(fp);)voidwriteDat()(FILE*fp;inti;fp=fopen(HOUT17.DATH,Mwn);fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,1,%d\n,',b[i]);fclose(fp);}第十八道下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些4位自然数的个数ent及这些数的和sum。请编写函数countVahie。实现程序的要求,最后调用函数writeDAT。把结果cm和sum输出到文件OUT18.DAT中。注意:部分源程序已给出。请勿改动主函数main。和写函数writeDAT。的内容。#include<stdio.h>intent,sum;voidwriteDATO;voidcountValue()inti;intal,a2,a3,a4;for(i=5000;i>=1000;i-)(a4=i/1000;a3=i%1000/1()0;a2=i%100/10;al=i%10;/*循环控制变量*//*定义变量保存4位数的每位数字*//*依次取每一个数进行判断*//*求4位数的千位数字*//*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*/if(a4+a3==a2+al&&a4+a3==(a1-a4)*10){ /*千位数与百位数之和等于十位数与个位数之和,且千位数与百位数之和等于个位数与千位数之差的10倍*/cnt++;sum+=i;/*则统计满足条件的数的个数*//*将满足条件的数求和*/voidmain()(cnt=sum=0;countValueO;priMf("满足条件的自然数的个数二%小11”式115printf("满足条件的自然数的值的和=%d\n”,sum);writeDATO;)voidwriteDATOFILE*fp;fp=fopen("OUT18.DATVw”);fprintf(fp,"%d\n%d\n,,,cnt9sum);fclose(fp);}第十九道已知数据文件IN19.DAT中存有200个4位数,并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数,则统计出满足此条件的数的个数ent并把这些4位数存入数组63然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数wrileDal。把结果cnl及数组b中的符合条件的4位数输出到outl9.dat文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ent。请勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()intij;intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)/*定义循环控制变量*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*/a4=a[i]/1000; /*求4位数的千位数字*/a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;/*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*/if((a4-a3-a2-al>=0)&&al%2!=0)/*如果千位数减百位数再减十位数最后减个位数得出的值大于等于零且此4位数是奇数*/b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)/*则将该数存入数组b中*//*统计满足条件的数的个数*//*对数组b的4位数按从小到大的顺序进行排序*/if(b[i]>b[j])temp=b[i];b[i]=bU];b|j]=temp;voidreadl)at()(inti;FILE*fp;fp=fopen(,,IN19.DAT,,,HrH);for(i=0;i<MAX;i++)focanf(fp,H%dH,&a[i]);fclose(fp);}voidmain()(inti;readDat();jsVal();prindT满足条件的数=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dM,b[i]);writeDatO;}voidwriteDatO(FILE*fp;inti;fp=fopenC'outl9.dat",MwH);fprintf(fp,M%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fpJ%d\n”,b[iD;fclose(fp);}第二十道已知数据文件IN20.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字上.的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent及数组b中符合条件的4位数输出到OUT20.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:cn“请勿改动主:函数main。、读函数rcadDat。和写函数writeDat。的内容。#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVaK)(/*定义循环控制变量*//*定义循环控制变量*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4=a[i]/1000; /*求4位数的千位数字*/a3=a[i]%1000/100;/*a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/10; /*求4位数的十位数字*/al=a[i]%10; /*求4位数的个位数字*/if((a4+a2==a3+al)&&a[i]%2!=l){ /*如果千位数加十位数等于百位数加上个位数,并且此数是偶数*/b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/cnt++; /*统计满足条件的数的个数*/for(i=0;i<cnt-l;i++)/*将数组b中的数按从小到大的顺序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopen(HIN20.DAT,,,nrM);for(i=0;i<MAX;i++)fscanf(fp,"%d'\&a[i]);fclose(fp);Jvoidmain()int
readDatO;jsValO;printf("满足条件的数=%d\n”,cnt);for(i=0:i<cnt;i++)printf(',%d,\b[i]);printf(,,\nM);writeDatO;voidwriteDatO(FILE*fp;inti;fp=fopen(“OUT20.DAT"Jw");fprintf(fp/'%d\n**,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n,,,b[i]);fclose(fp);}第二十一道已知数据文件IN21.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大丁等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDal()把结果ent及数组b中符合条件的4位数输出到OUT21.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:ento请勿改动主函数main。、读函数readDal。和写函数writeDat。的内容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()(六定义循环控制变量*/了定义变量保存六定义循环控制变量*/了定义变量保存4位数的每位数字*/产定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*/尸求4位数的百位数字号/*求4位数的十位数字*//*求4位数的个位数字*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)a4HM000;a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;
if((a4>=a3)&&(a3>=a2)&&(a2>=al)&&al%2!=0){ /*如果千位数大于等于百位数,百位数大于等于十位数,十位数大于等于个位数,并且此数是奇数*/b[cnt]=a[i];cnt++;/*则将满足条件的数存入数组b中*/b[cnt]=a[i];cnt++;/*统计满足条件的数的个数*/for(i=0;i<cnt-l;i++)/*将数组b中的数按从小到大的顺序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=b[j];b[j]=temp;voidreadDat()(inti;FILE*fp;fp=fopen("IN21.DAT","rH);for(i=0;i<MAX;i++)fscanf(fp,"%dM9&a[i]);fclose(fp);Jvoidmain()(inti;readDat();jsValO;printf("满足条件的数=%d\n”,cnt);for(i=0;i<cnt;i++)printf(H%d'\b[i]);printf("\iT);writeDat();)voidwriteDatO(FILE*fp;inti;fp=fopen('OUT21.DAT,\"w");
fprintf(fp,H%d\nH,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n",b[i]);fclose(fp);}第二十二道已知数据文件IN22.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent及数组b中符合条件的4位数输出到OUT22.DAT文件中。注意:部分源程序已给出.程序中已定义数组:a[200],b[200],已定义变量:ent。请勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。#include<stdio.h>#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVal()(/*定义循环控制变量*//*定义循环控制变量*//*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++)(a4=a[i]/1000;a3=a[i]%1000/100; /*求4位数的百位数字*/a2=a[i]%100/10; /*求4位数的十位数字*/al=a[i]%10; /*求4位数的个位数字*/if(a4+a2==a3+al&&al%2==0){ /*如果千位数加十位数等于百位数加上个位数,并且此数是偶数*/b[cnt]=a[i]; /*则将满足条件的数存入数组b中*/cnt++; /*统计满足条件的数的个数*/})for(i=0;i<cnt-l;i++) /*将数组b中的数按从小到大的顺序排列*/for(j=i+l;j<cnt;j++)if(b[i]>b[j])(temp=b[i];b[i]=bU];b[j]=temp;voidreadDat()inti;FILE*fp;fp=fopen(,,IN22.DAT,',HrH);for(i=0;i<MAX;i++)fscanf(fp,H%dM,&a[i]);fclose(fp);}voidmain()(inti;readDat();jsVal();prindT满足条件的数=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dM,b[i]);writeDatO;}voidwriteDaK)(FILE*fp;inti;fp=fopen(”OUT22.DAT”Jw”);fprintf(fp,M%d\nM,cnt);for(i=0;i<cnt;i++)fprintf(fp,,,%d\n,,,b[i]);fclose(fp);}第二十三道已知数据文件IN23.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上.的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent以及数组b中符合条件的4位数输出到OUT23.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:cn“请勿改动主函数main。、读函数rcadDat。和写函数writcDat。的内容。
#deHneMAX200inta[MAX],b[MAX],cnt=0;voidwriteDatO;voidjsVaK)(intij; /*定义循环控制变量*/intal,a2,a3,a4;inttemp;for(i=0;i<200;i++){a4=a[i]/10(M);a3=a[i]%1000/100;a2=a[i]%100/10;al=a[i]%10;if((a4+al==a3+a2)&可{b[cnt]=a[i];cnt++;)}for(i=0;i<cnt-l;i++)for(j=i+l;j<cnt;j++)if(b[i]>bU])(temp=b[i];b[i]=b[j);b[j]=temp;))voidreadDat()(inti;FILE*fp;fp=fopen(nIN23.DATH,HrH);for(i=0;i<MAX;i++)fscanf(fpJ%d”,&a[iD;fclose(fp);/*定义变量保存4位数的每位数字*//*定义数据交换时的暂存变量*//*逐个取每一个4位数*//*求4位数的千位数字*//*求4位数的百位数字*//*求4位数的十位数字*//*求4位数的个位数字*/&al%2==1) /*如果千位数加个位数等于百位数加十位数,并且此数是奇数/*则将满足条件的数存入数组b中*//*统计满足条件的数的个数*//*将数组b中的数按从小到大的顺序排列*/
inti;readDat();jsValO;printf("满足条件的数=%d\n”,cnt);fbr(i=O;i<cnt;i++)printf("%dn,b[i]);printf(H\nH);writeDat();voidwriteDat(){FILE*fp;inti;fp=fopen(,,OUT23.DAT,,,,,wH);fprintf(fp,M%d\nn,cnt);for(i=0;i<cnt;i++)fprintf(fp,H%d\nM,b[i]);fclose(fp);)第二十四道已知数据文件IN24.DAT中存有200个4位数,并已调用读函数readDat。把这些数存入数组a中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年农业施肥机械化设备租赁服务合同3篇
- 2024年度新能源货物质押融资担保合同2篇
- 2024年度加工承揽合同承揽人为个体工商户3篇
- 2024年度环境监测与环境治理服务合同3篇
- 2024年度自驾游旅行意外救援服务合同下载3篇
- 2024年度品牌合作发展合同6篇
- 2024年度许可使用著作权合同2篇
- 2024年企业廉洁自律承诺书撰写与签订详解3篇
- 2024年度市场调研与分析服务协议6篇
- 2024年度企业劳动合同劳动合同续签及变更管理规范5篇
- 厨余垃圾处理行业市场前瞻与未来投资战略分析报告
- 2023-2024学年浙江省丽水市莲都区教科版六年级上册期末考试科学试卷
- 科研伦理与学术规范(研究生)期末试题
- 北京市矢量地图-可改颜色
- 船舶上牌合同范本
- 四川省成都市2023-2024学年六年级上学期语文期末试卷(含答案)
- 聊城大学《分镜头设计》2023-2024学年第一学期期末试卷
- 统计与数据分析学习通超星期末考试答案章节答案2024年
- 2024医院医疗器械培训
- 技能竞赛(电工电气设备赛项)备考试题库(含答案)
- 汉字文化解密学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论