当前位置:首页 > 三级上机题资料1
for(i=0;i<300;i++)
if(a[i]-a[i]/1000-a[i]/100-a[i]/10>0) b[cnt++]=a[i]; for(i=0;i {t=b[j];b[j]=b[j+1];b[j+1]=t;} 运行结果: 12 6108 6108 4207 4109 3219 2609 2038 2026 1319 1305 1036 1029 23. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 /*参考答案*/ int i,j,t; for(i=0;i if(a[i]/1000<=a[i]/100&&a[i]/100<=a[i]/10&&a[i]/10<=a[i]&&a[i]%2==0) b[cnt++]=a[i]; for(i=0;i {t=b[j];b[j]=b[j+1];b[j+1]=t;} 运行结果: 7 1578 2778 2888 3388 4488 4558 7888 24. 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-2>0,则该数不满足条件忽略。 部分源程序存在文件prog1.c中。 程序中已定义数组:a[300],b[300],已定义变量:cnt 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include int i,j,t; for(i=0;i<300;i++) if(a[i]/1000-a[i]/100-a[i]/10-a[i]>0) b[cnt++]=a[i]; for(i=0;i {t=b[j];b[j]=b[j+1];b[j+1]=t;} 运行结果: 20 4002 4102 5111 5400 6014 6302 7050 7105 7113 8101 8130 8203 8221 8303 8700 9013 9016 9052 9053 9800 25. 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。 例如:6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+9<>1+2,则该数 不满足条件计算平均值pjz2。 部分源程序存在文件prog1.c中。 程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2。 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 /*参考答案*/ int i; pjz1=0;pjz2=0; for(i=0;i<300;i++) {if(a[i]/1000+a[i]==a[i]/100+a[i]/10) {cnt++; pjz1=pjz1+a[i];} else pjz2=pjz2+a[i]; } if(cnt==0) pjz1=0; else pjz1=pjz1/cnt; if((300-cnt)==0) pjz2=0; else pjz2=pjz2/(300-cnt); 运行结果: 18 6681.22 5582.48 26. 现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。 部分源程序存在文件prog1.c中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。 /*参考答案*/ int i,j,count; for(i=0;i<100;i++) { count=0; for(j=0;xx[i][j];j++) if(xx[i][j]=='1') count++; if(count>5) ; else for(j=0; xx[i][j]; j++) {if(xx[i][j]=='1') yy[j]++; } } 运行结果: 54 20 31 15 20 16 21 18 18 12 27 请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out.dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 /*参考答案*/ void main() { int cnt1, cnt2, xx[N] ; float pj ; FILE *fw ; int m,n,sum; fw = fopen(\ read_dat(xx) ; cnt1=0;cnt2=0;n=0;sum=0; for(m=0;m {if(xx[m]%2!=0) cnt1++; else cnt2++; if(m%2==0) {sum=sum+xx[m]; n++; } } pj=1.0*sum/n; printf(\ fprintf(fw,\fclose(fw); } 运行结果: 113 87 187.65 28. 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS8.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。 请勿改动主函数main()、读数据函数ReadDat()和输出数 据函数WriteDat()的内容。#include int i,j,f; for(i=0;i
共分享92篇相关文档