《全国计算机等级考试三级C语言上机100题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
全国计算机等级考试三级C语言上机100题答案
1全国计算机等级考试三级C语言上机100题一.排序类:L已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cut,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a|200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。#include 2fscanf(fp,n%dn,&a[i]);fprintf(fp,''%d\iT,第3页共126页2+t/1000%2==0)b[cnt-H-]=t;}for(i=0;i 3n,ent);for(i=0;i 4n);writeDat();}writeDat()(FILE*fp;inti;fp=fopen(nout.datM,"w"); 5ent);for(i=0;i 6H,b[i]);fclose(fp);)2.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数ent并把这些四位数按从大到小的顺序存入数组b中。最后main。函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDatQ和写函数writeDat()的内容。#include 7第5页共126页)for(i=0;i 8H,ent);for(i=0;i 9H);writeDat();)writeDat(){FILE*fp;inti;fp=fopen(Mout.dat",,,w,,);fprintf(fp,"%d 10H,ent);for(i=0;i 11H,b[i]); 12fclose(fp);第6页共126页)3.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。#include 13(t=b[i];b[i]=b[j];b[j]=t;3.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cut并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()和写函数writeDat()的内容。#include 14if(b[i]读函数readDatQ和写函数writeDat()的内容。#include 15b[cnt++]=a[i];for(i=0;i 16请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。#include 17如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main。函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数mainQ>读函数readDat()和写函数writeDatQ的内容。朱洪教育#include 18第12页共126页for(i=0;i 19请勿改动数据文件IN.DAT中的任何数据、主函数mainQ>读函数readDat()和写函数writeDat()的内容。#include 20位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab 21b[cnt++]=a[i];}for(i=0;i 22#include 23第17页共126页if(b[i] 24writeDat()的内容。#include 25字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main()函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDatQ和写函数writeDat()的内容。#include 26||cd%5==0)&&ab/10!=0&&cd/10!=0)b[cnt++]=a[i];)for(i=0;i 27readDat()和写函数writeDat()的内容。#include 28字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main。函数调用写函数writeDat。把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。 29第23页共126页#include 30的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。#include 31值大于等于零且原四位数是奇数,则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat。把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数mainQ>读函数readDat()和写函数writeDat()的内容。#include 32在文件progl.c中o)10.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDatQ和写函数writeDat()的内容。#include 33第27页共126页b[cnt++]=a[i];}for(i=0;i 34intij,t;for(i=0;i<200;i++)(if(a[i]/1000+a[i]%10==a[i]/100%10+a[i]/10%10&&a[i]%2==l)b[cnt++]=a[i];)for(i=0;i 35第29页共126页函数main()>读函数readDat()和写函数writeDatQ的内容。#include 36注意:部分源程序存在文件progl.c中。程序中已定义数组:a[200],b[200],已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()>读函数readDat()和写函数writeDat()的内容。#include 37位数上的数加十位数上的数的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+l。8129,8+901+2,则该数不满足条件忽略。部分源程序存在文件progl.c中o程序中已定义数组:a[300],b[300],已定义变量:ent请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 38存有300个四位数,并已调用读函数ReadDat。把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat。把结果输出到out.dat文件。例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+lo9812,9-8-1-2>0,则该数不满足条件忽略。部分源程序存在文件progl.c中o朱洪教育程序中已定义数组:a[300],b[300],已定义变量:ent请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 39b[i]=b[j];b[j]=t;)}23.已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat。把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat。把结果输出到out.dat文件。例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+lo8129,8+102+9,则该数不满足条件忽略。部分源程序存在文件progl.c中。程序中已定义数组:a[300],b[300],已定义变量:ent请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 40第34页共126页for(i=0;i 41jsValue()(intij,t;for(i=0;i<300;i++)if(isP(a[i]))b[cnt++]=a[i];for(i=0;i 42第36页共126页和写函数writeDat。的内容。#include 43#include 44处理后50998088702560129012注意:部分源程序已给出。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 45的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat。把结果bb输出到文件outdat中。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 46第40页共126页returnent;)29.在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat。读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat。把结果bb输出到文件out.dat中。部分源程序存在文件progl.c中。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 47aa[i].x2+aa[i].x3)(bb[cnt]=aa[i];cnt++;)for(i=0;i 48charxx[50][80];intmaxline=O;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidSortCharA(void){inti,j,k;chart;for(i=0;i 49bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat()和输出数据函数writeDatQ的内容。#include 50据存放到字符串数组XX中(每行字符串长度均小于80)o请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中,最后调用函数WriteDat。把结果xx输出到文件out.dat中。例如:位置01234567源字符串abcdefgh则处理后字符串ahcfedgb部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 51xx[k][j]=t;33.函数ReadDat。实现从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)o请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。例如:位置012345678源字符串abcdhgfe123498765则处理后字符串hgfedcba876594321部分源程序存在文件progl.c中。请勿改动主函数main。、读数据函数ReadDat。和输出数据函数WriteDat。的内容。#include 52第46页共126页voidjsSort()(intij9k,t9l;for(k=0;k<20;k++)(l=strlen(xx[k]);for(i=0;i 53bahgfe432198765则处理后字符串hgfeabcd876591234部分源程序存在文件progl.c中o请勿改动主函数main()>读函数ReadDat()和写函数WriteDat。的内容。#include 54仍放在原位置上。35.函数ReadDat。实现从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)o请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符例如:位置012345678源字符串abcdhgfe123498765则处理后字符串dcbaefgh432195678部分源程序存在文件progl.c中。请勿改动主函数main。、读数据函数ReadDat。和输出数据函数WriteDat。的内容。#include 55第49页共126页voidjsSort()(intij,t,k9l;for(k=0;k<20;k++)(l=strlen(xx[k]);for(i=0;i 56WriteDat。把结果输出到文件OUT5.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main().读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 57voidmain()memset(sell,0,sizeof(seli));ReadDat();SortDat();WriteDatQ;voidReadDat()(FILE*fp;charstr[80],ch[ll];inti;fp=fopen(HIN.DATH,HrH);朱洪教育for(i=0;i<100;i++){fgets(str,80,fp);memcpy(seH[i].dm,str,4);memcpy(sell[i].mc,str+4,l0);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*sel)fclose(fp);}voidWriteDat() 58FILE*fp;inti;fp=fopen(HOUT5.DATH,HwH);for(i=0;i<100;i++)(printf(M%s%s%4d%5d%5d 59n,sell[i].dm,sell[i].mc,sell[i].dj,sen[i].sl,sell[i].je);fprintf(fp,M%s%s%4d%5d%5d 60H,sell[i].dm,sell[i].mc,sen[i].dj,sell[i].sl,sell[i].je);)fclose(fp);)37.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)五部分组成。其中:金额二单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDatO,其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。部分源程序存在文件progl.c中。请勿改动主函数main().读数据函数ReadDat。和输出数据函数 61第53页共126页WriteDat()的内容。#include 62单价可(整型),数量S1(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat。把结果输出到文件OUT5.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main().读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 63第55页共126页for(j=i+l;j 64#include 65单价可(整型),数量S1(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDatO,其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDatO把结果输出到文件OUT4.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main().读数据函数ReadDat。和输出数据函数WriteDatO的内容。#include 66for(j=i+l;j 67#include 68单价可(整型),数量0(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat。把结果输出至!I文件OUT3.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include 69for(i=0;i 70第61页共126页for(j=i+l;j 71#include 72*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDatO,其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat。把结果输出到文件OUT2.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main().读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 73j].dm);if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&k<045.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价可(整型),数量3(整型),金额je(长整型)五部分组成。其中:金额二单价东数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDatO,其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat。把结果输出至!J文件OUT1.DAT中。部分源程序存在文件progl.c中。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 74第65页共126页#include 75能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。部分源程序存在文件progl.c中。请勿改动主函数main。和输出数据函数writeDAT()的内容。#include 76”);elseprintf(H%5d,\aa[k]);writeDAT();}writeDAT(){intaa[1000],n,k;FILE*fp;fp=fopen(Houtl9.datH,nwn);countValue(aa,&n);第67页共126页for(k=0;k 77if((k+l)%10==0)fprintf(fp,H 78H);elsefprintf(fp,M%5dn,aa[k]);fprintf(fp,n 79H);fclose(fp);47.下列程序的功能是:将一正整数序列{K1,K2,・・・,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsVahie。实现此功能,最后调用writeDat。函数将新序列输出到文件out.dat中。说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列{6,8,9,1,2,5,4,7,3}经重排后成为{3,4,521,6,8,9,7}部分源程序存在文件progl.c中。请勿改动主函数main。和写函数writeDat()的内容。#include 80a[i][t]=a[i][t-l];a[i][t]=less;47.下列程序progl.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。Xn+l=cos(Xn)迭代步骤如下:⑴取XI初值为0.0;(2)XO=X1,把XI的值赋给X0;(3)Xl=cos(X0),求出一个新的XI;(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);⑸所求XI就是方程cos(X)-X=0的一个实根,作为函数值返回。请编写函数countValue()实现程序的要求,最后调用函数writeDat。把结果输出到文件OUT17.DAT中。部分源程序已给出。请勿改动主函数main()和输出数据函数writeDat()的内容。#include 81第69页共126页能要求:1、求出这N个实数的平均值aver;2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat。把所求的结果输出到文件out.dat中o注意:部分源程序已给出。请勿改动主函数main()>读数据函数readdat。和输出数据函数writedat()的内容。#include 82找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=ll,m2=121,m3=1331皆为回文数。请编制函数intsvalue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中o注意:部分源程序已给出。请勿改动主函数main()的内容。#include 83第71页共126页#include 8447.下列程序的功能是:找出所有100以内(含100)满足I,1+4,1+10都是素数的整数I(1+10也在100以内)的个数ent以及这些I之和sumo请编写函数countVahie()实现程序要求的功能,最后调用函数writeDatQ把结果ent和sum输出到文件out.dat中。部分源程序存在文件progl.c中o请勿改动主函数main。和输出数据函数writeDat()的内容。#include 85第73页共126页最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。例如:当t=1000时,函数值为:1597。部分源程序存在文件progl.c中o请勿改动主函数main。和写函数writeDat()的内容。#include 86xy+=i;xy=sqrt((double)xy);returnxy;}47.下列程序progl.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat。把结果输出到文件out.dat中。请勿改动主函数main。和写函数writeDat()的内容。#include 87293)O计算并输出上述这些素数的个数ent以及这些素数值的和sum。请考生编写函数countValue()实现程序要求,最后调用函数writeDAT。把结果ent和sum输出到文件bclO.out中o注意:部分源程序存放在文件progl.c中。请勿改动主函数main()和输出数据函数writeDAT()的内容。#include 88%d 89n,ent,sum);fclose(fp);)voidmain(){ent=sum=0;countValueQ;printf(H素数的个数=%d 90H,ent);printf("满足条件素数值的和二%d'\sum);writeDAT();)47.请编写一个函数jsValue(intm,intkjntxx[]),该函数的功能是: 91第76页共126页将大于整数m且紧靠m的k个素数存入数组XX传回。最后调用函数writeDat。读取10组数据,分别得出结果且把结果输出到文件out.dat中。部分源程序存在文件progl.c中o例如:若输175则应输出:19,23,29,31,37o请勿改动主函数main。和写函数writeDat()的内容。#include 92)voidcountValue(){intfor(i=799;i>500;i-=2)forg=2;jintent,sum;voidcountValue()(inti;for(i=1000;i<5000;i++)if(i/1000+i/100%10==i/l0%10+i%10&&i/1000+i/l00%10==10*(i%10-i/1000)) 93(cnt++;sum+=i;47.请编制函数ReadDat。实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute。分别计算出xx中偶数的个数even,奇数的平均值aveL偶数的平均值ave2以及方差totfc的值,最后调用函数WriteDat。把结果输出到OUT.DAT文件中。计算方差的公式如下:Ntotfc=l/N^(xx[i]-ave2)2i=l设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)部分源程序存在文件progl.c中。第79页共126页请勿改动主函数main。和输出数据函数writeDatQ的内容。#include 94FILE*fp;if((fp=fopen(HIN.DATH,nrH))==NULL)return1;for(i=0;i 95n);}fclose(fp);return0;voidCompute(void)(inti;for(i=0;i 96Ntotfc=i/Ny(xx[i]-avel)2i=l设N为奇数的个数,xx[i]为奇数,avel为奇数的平均值。原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)部分源程序存在文件progl.c中。请勿改动主函数main。和输出数据函数writeDat()的内容。#include 97H);}fclose(fp);return0;}voidCompute(void){ 98inti;for(i=0;i 9947.请编制函数ReadDat。实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute(),分别计算出xx中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat。把结果输出到OUT.DAT文件中。计算方差的公式如下:Ntotfc=l/N2(xx[i]-aver)i=l原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)部分源程序存在文件progl.c中o请勿改动主函数main()和输出数据函数writeDat()的内容。#include 100第83页共126页if((i+l)%10==0)fscanf(fp,n 101H);)fclose(fp);return0;)voidCompute(void)(inti;for(i=0;i 102progl.c中o程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2o请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 1039-1-2-3>0,则该数满足条件计算平均值pjzl,且个数cnt=cnt+lo8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2o部分源程序存在文件progl.c中o程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 104数平均值pjz2,最后调用写函数writeDat。把结果输出到out.dat文件。例如:7153,7+1=5+3,则该数满足条件计算平均值pjzl,且个数cnt=cnt+lo8129,8+102+9,则该数不满足条件计算平均值pjz2。部分源程序存在文件progl.c中o程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2o请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 105以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。例如:6712,6+2=7+1,则该数满足条件计算平均值pjzl,且个数cnt=cnt+lo8129,8+901+2,则该数不满足条件计算平均值pjz2。部分源程序存在文件progl.c中o程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2o请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 106文件。例如:5591是素数,则该数满足条件计算平均值pjzl,且个数cnt=cnt+lo9812是非素数,则该数不满足条件计算平均值pjz2o部分源程序存在文件progl.c中o程序中已定义数组:a[300],已定义变量:cnt,pjzl,pjz2请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 107#include 108H);)fclose(fp);voidmain(){inti,j,sum;intcntl,cnt2,xx[N];floatpj;FILE*fw;clrscr();fw=fopen(Hout.datn,Hw");read_dat(xx);/Wl*KL«KL«<£><*«^x*KX*KT*■>trj»*jw*jwrjw»jw*Jw*jw*J»*J» 109 110cntl=%d,cnt2= 111%d,pj=%6.2f 112*\cntl,cnt2,pj);fprintf(fw,n%d 113%d 114%6.2f 115*'9cnt19cnt2,pj);fclose(fw);}47.请编制程序progl.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数ent和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。结果max,ent,pj输出到OUT.DAT中。部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。#include 116第91页共126页for(i=0;i<20;i++){for(j=0;j<10;j++){fscanf(fp,H%d,H,&xx[i*10+j]);printf(M%dM,xx[i*10+j]);}printf(" 117n);)fclose(fp);}voidmain()(intm,temp,n,sum;intcnt,xx[N],max;floatpj;FILE*fw;clrscrQ;fw=fopen("out.datn/*w");read_dat(xx);/.匕.匕.匕«£*KL**2>1frjw*jw*J*rjwrjwrJwrjwrjwrjwrjwrjwrjw!max=xx[0];for(i=l,k=0;i 118 119max=%d,cnt=%d,pj=%6.2Ann,max,cnt,第92页共126页Pj);fprintf(fw,n%d 120%d 121% 1226.2f 123'',max,cnt,pj);fclose(fw);)71.请编制程序progl.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cntl和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj(保留2位小数)。结果cntl,cnt2,pj输出到out.dat中o部分程序、读数据函数read_dat(intxx[200])及输出格式已给出。#include 124H);)fclose(fp);voidmain(){intm,sum;intent1,cntl,xx[N];floatpj; 125FILE*fw;fw=fopen(nout.datH,nwn);clrscrQ;read_dat(xx);kJ>kT«Jrj»*Jw*j**jw»Jw*Jw*j**J»*JwrJ»rj*rj*»Jw 126 127cntl=%d,cnt2=%d,pj=%6.2AnH,cntl,cnt2,pj);fprintf(fw,"%d 128%d 129%6.2f 130H,cntl,cnt2,pj);fclose(fw);)72.已知在文件IN.DAT中存有若干个(个数〈200)四位数字的正整数,函数ReadDat。读取这若干个正整数并存入数组xx中。请编制函数CalValueO,其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat。把所 131求的结果输出到文件 132第94页共126页OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 13373.已知在文件IN.DAT中存有若干个(个数〈200)四位数字的正整数,函数ReadDat。读取这若干个正整数并存入数组xx中。请编制函数CalValueO,其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat。把所求的结果输出到文件OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main()>读函数ReadDat()和写函数writeDat。的内容。#include 134hun=xx[i]%1000/100;ten=xx[i]%100/10;data=xx[i]%10;ab=thou+hun+ten+data;if(ab%2==1){totCnt++;sum=sum+xx[i];))totPjz=(double)sum/totCnt;}73.已知在文件IN.DAT中存有若干个(个数〈200)四位数字的正整数,函数ReadDat。读取这若干个正整数并存入数组xx中。请编制函数CalValueO,其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat。把所求的结果输出到文件OUT.DAT中。部分源程序存在文件progl.c中。请勿改动主函数main。、读函数ReadDat()和写函数writeDat()的内容。第97页共126页#include 135平均值*/intReadDat(void);voidwriteDat(void);voidCalValue(void)(inti;for(i=0;xx[i];i++)(if(xx[i]/2%2==l)totCnt++;totPjz+=xx[i];}totNum++;)totPjz/=totCnt;73.已知在文件IN.DAT中存有若干个(个数〈200)四位数字的正整数,函数ReadDat。读取这若干个正整数并存入数组xx中。请编制函数CalValueO,其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数 136writeDat。把所求的结果输出到文件OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main。、读函数ReadDat()和写函数writeDat。的内容。#include 137请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()JE结果输出到文件bcl.out中。例如:s字符串中原有的内容为:Mn.l23Zxy,则调用该函数后,结果为:No.l23Ayzo注意:部分源程序存在文件progl.c文件中。请勿改动主函数main()和输出数据函数readwriteDAT()的内容。#include 138第100页共126页到文件out.dat中。注意:部分源程序存在文件progl.c中。请勿改动主函数main。和其它函数中的任何内容,仅在函数midStr()的花括号中填入你编写的若干语句。#include 139inti;charc;c=s[0];for(i=0;s[i+l];i++)s[i]=s[i+l];s[i]=c;)79.函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母ao大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat。把结果xx输出至!I文件OUTLDAT中。例:原文:Adb.Bcdza结果:Aec.Bdeababck.LLhjbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中。请勿改动主函数main。、读数据函数ReadDat。和输出数据函数writeDat()的内容。#include 140voidWriteDat(void);voidConvertCharA(void)(intij,t;for(t=0;t 141intmaxline=0;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidConvertCharD(void)(intij;for(i=0;i<50;i++)(for(j=0;xx[i][j];j++)if(xx[i][j]>=tb,&&xx[i][jk='z,)xx[i][j]-;elseif(xx[i][j]==,a,)xx[i][j]+=25;))79.函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJRQ,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对 142应的位置上。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat()和输出数据函数writeDat()的内容。#include 143原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数writeDat。把结果xx输出至!1文件OUT7.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat。和输出数据函数writeDat()的内容。#include 144串中的最后一个字符的ASCII值右移4位,高位补0后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位,高位补0后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat。把结果xx输出到文件OUT10.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中。请勿改动主函数main。和写函数writeDat()的内容。#include 145第107页共126页for(j=l-l;j>0;j-)xx[i][j]=(xx[i][j]»4)+xx[i]Lj-l];xx[i][0]+=t;)}79.函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT0把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.注意:部分源程序已给出。请勿改动主函数main()>读数据函数ReadDatO和输出数据函数writeDat()的内容。#include 146voidWriteDat(void);voidChA(void)(intij,t?for(i=0;i 147ReadDat。和输出数据函数WriteDat()的内容。#include 148第110页共126页部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 149mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include 150encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组XX的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。替代关系:f(p)=p*llmod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数朱洪教育WriteDat()的内容。#include 151xx[i][j]=p;79.函数ReadDat。实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组XX的对应的位置上,最后调用函数WriteDatO把结果xx输出到文件PS5.DAT中。替代关系:f(p)=p*llmod256(p是数组中某一个字符的ASCIIf(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDatO和输出数据函数WriteDatO的内容。#include 152第114页共126页for(i=0;i 153intmaxline=O;/*文章的总行数*/intReadDat(void);voidWriteDat(void);voidencryptChar()(intij;charp;for(i=0;i 154第116页共126页请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include 155f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include 156PS9.DAT中。替代关系:f(p)=p*llmod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include 15794.函数ReadDat。实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组XX的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。替代关系:f(p)=p*llmod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 158第120页共126页||xx[i][j]%2==l)■elsexx[i][j]=p;五决它95.函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR(),其函数的功能是:以行为单位依次把字符串中所有小写字母。左边的字符串内容移到该串的右边存放,然后把小写字母。删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat。把结果xx输出至!!文件OUT5.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在文件progl.c中。请勿改动主函数main()>读数据函数ReadDat。和输出数据函数WriteDat()的内容。#include 159第121页共126页inti,j,k;charbuf[80];for(i=0;i 160是:每行的宽度均小于80个字符,含标点符号和空格。部分源程序存在文件progl.c中。请勿改动主函数main().读数据函数ReadDat。和输出数据函数writeDat()的内容。#include 16197.现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。给定函数ReadDat。的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs。来统计每个人的选票数并把得票数依次存入yy[O倒yy[9]中。把结果yy输出到文件OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat。和输出数据函数writeDat()的内容。#include 162情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。给定函数ReadDat()W功能是把选票数据读入到字符串数组XX中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[O]到yy[9]中。把结果yy输出到文件OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main()>读数据函数ReadDat。和输出数据函数writeDatQ的内容。#include 163内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()W功能是把选票数据读入到字符串数组XX中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[O]到yy[9]中。把结果yy输出到文件OUT.DAT中。部分源程序存在文件progl.c中o请勿改动主函数main().读数据函数ReadDat。和输出数据函数writeDat()的内容。#include 164。请考生编制函数Josegh()实现此功能并调用函数WriteDat。把编号按照出圈的顺序输出到OUT.DAT文件中。注意:第1个出圈的编号存放在p[0]中,第2个出圈的编号存放在p[l]中,直至第n个出圈的编号存放在中。设n=100,s=1,m=10进行编程。注意:部分源程序存放在PROGLC中。请勿改动主函数main()和输出数据函数WriteDat()的内容。#include
此文档下载收益归作者所有