1、一、数字题:1在文件IN3.DAT中有200个正整数,且每个数均在1000至9999之间。函数readDat的功能是读取这200个数存放到数组aa中。编制函数jsSort,其功能是:要求按每个数的后3位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后3位相等的数,则对这些数按原始4位数据进行升序排列。最后调用函数writeDat把结果bb输出到文件OUT3.DAT中。如:处 理 前 9012、 5099、 6012、 7025 8088,处 理 后5099、 8088、 7025、 6012 9012void jsSort()int i,j,data;for(i=0;i
2、aaj)data=aai;aai=aaj;aaj=data;for(i=0;iaaj%1000)data=aai;aai=aaj;aaj=data;else if(aai%1000=aaj%1000)if(aaibj)value=bi;bi=bj;bj=value;5已知数据文件IN68.DAT中存有200个4位数,并已调用读函数readDat把这些数存入数组a中,编制一函数jsVal,其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT68.DAT文
3、件。void jsVal()int i,thou,hun,ten,data,j;for(i=0;imax)max=xxi;if(xxi%3=0|xxi%7=0)j+=xxi;k+;for(i=0,cnt=0;i0)totNum+;thou=xxi/1000;hun=xxi%1000/100;ten=xxi%100/10;data=xxi%10;if(thou+hun+ten+data)%2)totCnt+;totPjz+=xxi;totPjz/=totCnt;11已知在文件IN20.DAT中存有若干个(个数0)totNum+;thou=xxi/1000;hun=xxi%1000/100;ten
4、=xxi%100/10;data=xxi%10;ab=thou+hun+ten+data;if(ab%2=0)totCnt+;sum=sum+xxi;totPjz=sum/totCnt;12已知在文件IN13.DAT中存有若干个(个数0)totNum+;data=xxi1;if(data%2=0)totCnt+;totPjz+=xxi;totPjz/=totCnt;13已知在文件in70.dat中存有若干个(个数0)totNum+;data=xxi1;if(data%2)totCnt+;totPjz+=xxi;totPjz/=totCnt;14已知数据文件IN53.DAT中存有200个4位数,
5、并已调用读函数readDat把这些数存入数组a中,编制函数jsVal,其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数,则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat把结果cnt及数组b中符合条件的4位数输出到文件OUT53.DAT中。void jsVal()int i,j,flag;for(i=5;iaj)flag=1;else flag=0;if(ai%2!=0)flag=0;if(flag=0)break;if(flag=1)bcnt=ai;cnt+;for(i=0;iaai.x2+a
6、ai.x3)bbcount.x1=aai.x1;bbcount.x2=aai.x2;bbcount.x3=aai.x3;count+;for(i=0;ibbj.x1+bbj.x3)val=bbi;bbi=bbj;bbj=val;return count;16在文件IN30.DAT中有200组数据,每组有3个数,每个数均是3位数。函数readDat是读取这200组数据存放到结构数组aa中。编制函数jsSort,其函数的功能是:要求在200组数据中找出条件为每组数据中的第二个数大于第一个数加第三个数之和,其中满足条件的个数作为函数jsSort的返回值,同时把满足条件的数据存入结构数组bb中,再对结
7、构数组bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列,排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat把结果bb输出到文件OUT30.DAT中。int jsSort()int i,cnt=0,j;Data ch;for(i=0;iaai.x1+aai.x3)bbcnt=aai;cnt+;for(i=0;iaj)flag=1;else flag=0;break;if(ai%2=0)flag=0;if(flag=1)bcnt=ai;cnt+;for(i=0;ibj)k=bi;bi=bj;bj=k;18已知数据文件IN23.DAT中存有200个4位数,并已调用读函
8、数readDat把这些数存入数组a中。编制函数jsVal,其功能是:依次从数组a中取出一个4位数,如果4位数连续大于该4位数以前的5个数且该数是奇数,该数必须能被7整除,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT23.DAT文件中。void jsVal()int i,j,flag=0;for(i=5;iaj)flag=1;else flag=0;break;if(flag=1cnt+;for(i=0;ibj)flag=bi;bi=bj;bj=flag;20已知数据文件IN1.DA
9、T中存有200个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsVal,其功能是:如果4位数各位上的数字均是0或2或4或6或8,统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件中。void jsVal()int bb4;int i,j,k,flag;for (i=0;ibj)data=bi;bi=bj;bj=data;22已知数据文件in80.dat中存有300个4位数,并已调用函数readDat把这些数存入数组a中,编制函数jsValue,其功能是
10、:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat把结果cnt,pjz1,pjz2输出到out80.dat文件。例如:1239,9-1-2-30,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。8129,9-8-1-20)cnt+;pjz1+=ai;else n+;pjz2+=ai;pjz1/=cnt;pjz2/=n;23已知数据文件IN24.DAT中存有300个4位数,并已调用读函数readDat把这些数存入数组a中。编制函数jsVa
11、lue,其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从大到小的顺序进行排序,最后调用写函数writeDat把数组b中的数输出到OUT24.DAT文件中。如:6712,6271,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,891+2,则该数不满足条件,忽略。void jsValue()int i,thou,hun,ten,data,j;for(i=0;ibj)data=bi;bi=bj;bj=data;27已知数据文件IN89.DAT中存有200个4位数,并已调用读函数
12、readDat把这些数存入数组a中。编制函数jsVal,其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt,以及数组b中符合条件的4位数输出到OUT89.DAT文件中。void jsVal( )int i,thou,hun,ten,data,j;for(i=0;ibj)data=bi;bi=bj;bj=data;28已知数据文件IN78.DAT中存有200个4位数,并已调用读函数readDat把这些数存入数组
13、a中,编制函数jsVal,其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT78.DAT文件中。void jsVal( )int i,thou,hun,ten,data,j;for(i=0;i=hun)cnt+;for(i=0;ibj)data=bi;bi=bj;bj=data;29下列程序的功能是:选出5000以下符合条件的自
14、然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些4位自然数的个数cnt及这些数的和sum。编写函数countValue实现程序的要求,最后调用函数writeDAT把结果cnt和sum输出到文件OUT67.DAT中。void countValue()int i,thou,hun,ten,data;for(i=5000;i=1000;i-)thou=i/1000;hun=i%1000/100;ten=i%100/10;data=i%10;if(thou+hun=ten+datasum+=i;30已知数据文件i
15、n81.dat中存有300个4位数,并已调用函数readDat把这些数存入数组a中,编制函数jsValue,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat把结果cnt,pjz1,pjz2输出到out81.dat文件。如:7153,7+1=5+3,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。8129,8+12+9,则该数不满足条件计算平均值pjz2。void jsValue()int i,thou,hun,ten,data
16、,n=0;for(i=0;i0) cnt+;for(i=0;ibj)data=bi;bi=bj;bj=data;32已知数据文件IN57.DAT中存有300个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsValue,其功能是:求出个位数上的数减千位数上数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从大到小的顺序进行排序,最后调用函数writeDat把数组b中的数输出到OUT57.DAT文件中。例如:1239,9-1-2-30,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,9-8-1
17、-20)bcnt=ai;cnt+;for(i=0;ibj)data=bi;bi=bj;bj=data;34已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsValue,其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat把结果cnt,pjz1,pjz2输出到out55.dat文件中。例如:9123,9-1-2-30,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。9812
18、,9-8-1-20)cnt+;pjz1+=ai;elsen+;pjz2+=ai;pjz1/=cnt;pjz2/=n;35已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsVal,功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt及数组b中符合条件的4位数输出到out38.dat文件中。void jsVal(
19、 )int i,j;int a1,a2,a3,a4,k;for(i=0;ibj)k=bi;bi=bj;bj=k;36已知数据文件IN45.DAT中存有200个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsVal,其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab-cd10且ab-cd20且两个数均为偶数,同时两个新十位数字均不为
20、零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT45.DAT文件中。void jsVal( )int i,thou,hun,ten,data,j,ab,cd;for(i=0;i=10)cnt+;for(i=0;ibj)data=bi;bi=bj;bj=data;39已知数据文件IN86.DAT中存有200个4位数,并已调用读函数readDat把这些数存入数组a中,编制函数jsVal,其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4
21、位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数abcd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat把结果cnt及数组b中符合条件的4位数输出到OUT86.DAT文件中。void jsVal( )int i,thou,hun,ten,data,j,ab,cd;for(i=0;i0)
22、 cnt+;for(i=0;i=Aj=0;j-)ppj+1=ppj;pp0=xxmi;k+;i-;strcat(ch,pp);strcpy(pp,“);k=1;if(i=-1)break;while(xxmi9j=0;j-)ppj+1=ppj;pp0=xxmi;k+;i-;strcat(ch,pp);strcpy(pp,“);k=0;if(i=-1)break;strcpy(xxm,ch);49函数ReadDat的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。编制函数SortCharA,该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新
23、存入字符串数组xx中。最后调用函数WriteDat把结果xx输出到文件OUT88.DAT中。例如,原文:dAe,BfCCCbbAA结果:,ABCdefAACCbb原始数据文件存放的格式是:每行的宽度均小于80个字符含标点符号和空格。void SortCharA()int i,j,k,strl;char ch;for (i=0;ixxik)ch=xxij;xxij=xxik;xxik=ch;50函数ReadDat功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中编制函数ConvertCharA,该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是
24、字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat把结果xx输出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是每行的宽度均小于80个字符含标点符号和空格。void ConvertCharA(void)int i,j,str;for(i=0;i=aj-)ch=xxIstr1-1;for(k=str1-1;k0;k-)xxIk=xxIk-1;xxI0=ch;52函数ReadDat的功能是实现从文件I
25、N35.DAT中读取一篇英文文章存入到字符串数组xx中。编制函数SortCharD,该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat把结果xx输出到文件OUT35.DAT中。例如,原文:dAe,BfCCCbbAA结果:fedCBA,bbCCAA原始数据文件存放的格式是每行的宽度均小于80个字符含标点符号和空格。void SortCharD()int i,j,k,str1;char ch;for (i=0;i=bj-)xxij=xxij4+xxij-1;xxi0+=ch;56函数ReadDat的功能是实现从文件IN
26、8.DAT中读取一篇英文文章存入到字符串数组xx中;编制函数StrCharJP,该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,调用函数WriteDat把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。void StrCharJR(void)int i,j,str1;for(i=0;i4;57函数ReadDat的功能是实现从文件IN74.DAT中读取一篇英文文章
27、存入到字符串数组xx中。编制函数StrCharJL,该函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍存入到原字符串对应的位置。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat把结果xx输出到文件OUT74.DAT中。void StrCharJL(void)int i,j,strl;for(i=0;i100);else xxij+=xxijxxik)ch=xxij;xxij=xxik;xxik=
28、ch;60函数ReadDat的功能是实现从文件ENG95.IN中读取一篇英文文章,存入到字符串数组xx中。编制函数encryChar,按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat把结果xx输出到文件PS95.DAT中。替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。void encryChar()int i;char *pf;for(i=0;i
29、=Aj-,k-)ch=xxij;xxij=xxik;xxik=ch;71读函数readDat的功能是从文件IN25.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。编制函数jsSort,其功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用写函数writeDat把结果xx输出到文件O UT25.DAT中。条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。如:位置:0 1 2 3 4 5
30、6 7 8源字符串:d c b a h g f e4 3 2 1 9 8 7 6处理后字符串:h g f e a b c d9 8 7 6 1 2 3 4void jsSort()int i,j,k,strl,half;char ch;for(i=0;ixxik)ch=xxij;xxij=xxik;xxik=ch;for(j=half-1,k=strl-1;j=0;j-,k-)ch=xxij;xxij=xxik;xxik=ch;72函数readDat的功能是从文件in52.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。编制函数jsSort,该函数的功能是:以行为单
31、位对字符串变量的下标为奇数位置上的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out52.dat中。例如:位置 0 1 2 3 4 5 6 7源字符串 h g f e d c b a 则处理后字符串 h a f c d e b g。void jsSort()int i,j,k,strl;char ch;for(i=0;ixxik)ch=xxij;xxij=xxik;xxik=ch;三、100个产品73已知在文件IN6.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名
32、称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat的功能是读取这100个销售记录并存入结构数组sell中。编制函数SortDat,其功能是:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件O UT6.DAT中 。void SortDat()int i,j;PRO xy;for(i=0;i0)xy=selli;selli=sellj;sellj=xy;elseif(strcmp(selli.mc,sellj.mc)
33、=0)if(selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;74已知文件IN16.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat的功能是读取这100个销售记录并存入结构数组sell中。编制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件OUT16.
34、DAT中。void SortDat()int i,j;PRO xy;for(i=0;i0)xy=selli;sell i=sellj;sellj=xy;else if(strcmp(selli.dm,sellj.dm)=0)if(selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;76已知文件IN21.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中:金额=单价数量。函数ReadDat的功能是读取这100个销售记录并存入结
35、构数组sell中。编制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件OUT21.DAT中。void SortDat()int i,j;PRO xy;for(i=0;isellj.je)xy=selli;selli=sellj;sellj=xy;77已知在文件IN34.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中,金额=单价数
36、量可计算得出。函数ReadDat的功能是读取这100个销售记录并存入数组sell中。请编制函数SortDat,其功能是:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件OUT34.DAT。void SortDat()int i,j;PRO xy;for(i=0;i0)xy=selli;selli=sellj;sellj=xy;else if(strcmp(selli.dm,sellj.dm)=0)if(selli.je0)xy=selli;selli=sellj;sellj=xy;81已知在
37、文件IN61.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几部分组成。其中,金额=单价数量可计算得出。函数ReadDat的功能是读取这100个销售记录并存入数组sell中。编制函数SortDat,其功能是:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件OUT61.DAT中 。void SortDat()int i,j;PRO xy;for(i=0;isellj.je)xy=s
38、elli;selli=sellj;sellj=xy;else if(selli.je=sellj.je)if(strcmp(selli.dm,sellj.dm)sellj.je)xy=selli;selli=sellj;sellj=xy;else if(selli.je=sellj.je)if(strcmp(selli.dm,sellj.dm)0)xy=selli;selli=sellj;sellj=xy;82已知在文件IN46.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)几
39、部分组成。其中,金额=单价数量可计算得出。函数ReadDat的功能是读取这100个销售记录并存入数组sell中。请编制函数SortDat,其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat把结果输出到文件OUT46.DAT。void SortDat()int i,j;PRO xy;for(i=0;i0)xy=selli;selli=sellj;sellj=xy;四、选举题83对10个候选人进行选举,现有一个100条记录的选票数据文件IN29.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表
40、示第一个人的选中情况,第二位表示第二个人的选中情况,依次类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小于等于5个人时则被认为是无效的选票。给定函数ReadDat的功能是把选票数据读入到字符串数组xx中。编制函数CountRs来统计每个人的选票数并把得票数依次存入yy0到yy9中,最后调用函数WriteDat把结果yy输出到文件OUT29.DAT中。void CountRs(void)int i,count,j;char *pf;for(i=0;i5)pf=xxi;j=0;while(*pf)if(*pf=1)yyj+=1;j+;pf+;else if
41、(*pf=0)pf+;j+;84对10个候选人进行选举,现有一个100条记录的选票文件ENG50.IN,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,全选或全不选(空选票)均为无效的选票。给定函数ReadDat的功能是把选票记录读入到字符串数组xx中。编制函数CoutRs来统计每个人的选票数并把得票数依次存入yy0到yy9中,最后调用函数WriteDat把结果yy输出到文件OUT50.DAT中。void CoutRs(void)int i,j=0,k=0
42、;char *str;for(i=0;i=half)cnt+;sum+=i;89下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。编写函数num实现程序的要求,最后调用函数readwriteDAT把结果输出到out31.dat文件中。例如,若输入17,5,则应输出19,23,29,31,37。void num(int m,int k,int xx)int data=m+1;int half,I,n=0;while(1)half=data/2;for(I=2;Ihalf)xxn=data; n+;if(n=k) break;data+;90下列程序的功能是:把s字符串中的所有字母改成
43、该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。编写函数chg实现程序要求,最后调用函数readwriteDAT,读取in36.dat中的字符串,并把结果输出到文件out36.dat中。例如:s字符串中原有的内容为Mn123Zxy ,则调用该函数后,结果为No123Ayz 。void chg(char *s)while(*s)if(*s=z|*s=Z)*s-=25;s+;else if(*s=aelse return 0;95某级数的前两项A 1=1,A 2=1,以后各项具有如下关系:A n=An-2+2An-1下列程序的功能是:要求依次
44、对于整数M=100,1000和10000求出对应的n值,使其满足:S n=100)b0=n;if(sum0=1000)b1=n;if(sum0=10000)b2=n;break;sum0=sum;96下列程序的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和sum。编写函数countValue实现程序要求,最后调用函数writeDAT把结果cnt和sum输出到文件OUT51.DAT中。其中的S, I, X, N, I, N, E各代表一个十进制数。void countValue()int i=
45、100;while(1)if(3*i%2=0 97设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每10个人为一组,给出这n个人的顺序表。编制函数Josegh实现此功能并调用函数WriteDat把编号按照出圈顺序输出到文件OUT59.DAT中。设n=100,s=1,m=10进行编程。void Josegh(void)int i,j,k,s1,w;s1=s;for(i=1;i=2;i-)s1=(s1+m-1)%i;if(s1=0)s1=i;w=ps1-1;for(j=s1;j=half)yycnt=i;cnt+;for(i=0,j=-1;i0;k-)aik=aik-1;ai0=num;