好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

三级C语言上机bufentimu.doc

15页
  • 卖家[上传人]:zhuli****0000
  • 文档编号:7346983
  • 上传时间:2017-10-08
  • 文档格式:DOC
  • 文档大小:100.50KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1题目 1 请编写一个函数 jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数 m 且紧靠 m 的 k 个素数存入数组 xx 传回最后调用函数 writeDat()读取 10 组数据,分别得出结果且把结果输出到文件 out.dat 中部分源程序存在文件 prog1.c 中例如:若输入 17 5 则应输出:19,23,29,31,37请勿改动主函数 main()和写函数 writeDat()的内容int isP(int m){int i;for(i=2;i0;m++)if(isP(m)) { xx[s++]=m; k--;}}题目 2 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:如果四位数各位上的数字均是 0 或 2 或 4 或 6 或 8,则统计出满足此条件的个数 cnt,并把这些四位数按从大到小的顺序存入数组 b 中最后 main( )函数调用写函数 writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。

      void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i=0;j--)2{ k=0; memset(tem,0,80);if(xx[i][j]=='o'){righto=j; for(s=righto+1;s=0;j--) { if(isalpha(xx[i][j])) k++;else { for(m=1;maa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]aa[j]){data=aa[i];aa[i]=aa[j];aa[j]=data;}for(i=0;i130) continue;else xx[i][j]=xx[i][j]*11%256;}★☆题目 9(字符串排序题) 函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx中,请编制函数 SortCharD(),其函数的功能是: 以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 writeDat()把结果 xx 输出到文件 OUT2.DAT 中例:原文:dAe,BfC.CCbbAA结果:fedCBA.bbCCAAvoid SortCharD(void){int i,j,k,strl;char ch;for(i=0;i='a'&&xx[i][j]='a'&&s[i]='A'&&s[i]0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je){xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}题目 13(结构体运算题)已知在文件 IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码 dm(字符型 4 位),产品名称 mc(字符型 10 位),单价 dj(整型),数量 sl(整型) ,金额 je(长整型 )五部分组成。

      其中:金额=单价*数量计算得出函数 ReadDat()是读取这 100 个销售记录并存入结构数组 sell 中请编制函数 SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组 sell 中,最后调用函数 WriteDat()把结果输出到文件 OUT9.DAT 中void SortDat(){int i,j;PRO xy;for(i=0;i0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].jea[j]&&a[i]%2) flag=1;else {flag=0;break;}if(flag==1) b[cnt++]=a[i]; }for(i=0;ib[j]) {flag=b[i];b[i]=b[j];b[j]=flag;}}★题目 15(整数各位数字运算排序题)已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。

      void jsVal(){int i,j;int qw,bw,sw,gw;for (i=0;ib[j]) {qw=b[i];b[i]=b[j];b[j]=qw;}}★☆题目 16(字符替换题)函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中,请编制函数 StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的 ASCII 值右移 4 位,然后把右移后的字符 ASCII 值再加上原字符的 ASCII 值,得到新的字符仍存入原字符串对应的位置上最后把已处理的字符串仍按行重新存入字符串数组 xx 中,最后调用函数 writeDat()把结果 xx 输出到文件 OUT8.DAT 中void StrCharJR(){int i,j;for(i=0;i>4);(右移四位的表达方式)}7☆题目 17 (亲朋字符替换题)函数 READDAT()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 XX 中;请编制函数 CHA(),其函数功能是:以行为单位把字符串中的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到第一个亲朋字符,第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的 ASCII 值加原第一个字符的 ASCII 值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。

      最后把已处理的字符串逆转后按行重新存入字符串数组 XX 中,最后调用函数 WRITEDAT()把结果 XX 输出到文件 OUT9.DAT 中.原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格.void ChA(void){ int i,j;char ch;for(i=0;i=0.000001);return x1;9}注:本题在无忧或捷成模拟盘中,需定义 double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考★题目 22(平方根问题)请编写函数 countValue(),它的功能是: 求 n 以内(不包括 n)同时能被 3 与 7 整除的所有自然数之和的平方根 s,并作为函数值返回,最后结果 s 输出到文件 out.dat 中例如若 n 为 1000 时,函数值应为:s=153.909064double countValue(int n){ int i;double s=0.0;for(i=1;i=half) return 1;else return 0;}或者下面的解法:int jsValue(long n){long int s=0,k;k=n;while(k){ s=s*10+k%10;k/=10;}if(s==n) return 1;if(s!=n) return 0;}输出结果为:m= 11,m*m= 121,m*m*m= 1331 m= 101,m*m= 10201,m*m*m= 1030301 m= 111,m*m= 12321,m*m*m= 1367631 ★☆题目 26(整数统计运算题)已知在文件 IN.DAT 中存有若干个(个数0) { totNum++;data=xx[i]>>1;if(data%2==0){totCnt++;totPjz+=xx[i];}}if(totCnt==0) totPjz=0;else totPjz/=totCnt;}题目 27(整数各位数字运算题)11已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 ReadDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序,最后调用写函数 writeDat()把结果输出到 out.dat 文件。

      例如:9123,9-1-2-3>0,则该数满足条件存入数组 b 中,且个数 cnt=cnt+19812,9-8-1-2>0,则该数不满足条件忽略jsValue(){ int i,j,qw,bw,sw,gw;for(i=0;i0) b[cnt++]=a[i];}for(i=0;ib[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}★☆题目 28(整数各位打散组合运算题)已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数 ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字) ,以及把个位数字和百位数字组成另一个新的十位数 cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字) ,如果新组成的两个十位数 ab-cd>=0 且 ab-cd=0&&(ab-cd)=10&&cd>=10)b[cnt++]=a[i];}for(i=0;i=10 且 ab-cd=10&&ab-cdb[j]) {flag=b[i];b[i]=b[j];b[j]=flag;}}★☆题目 31(结构体运算题)已知在文件 IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码 dm(字符型 4 位),产品名称 mc(字符型 10 位),单价 dj(整型),数量 sl(整型) ,金额 je(长整型 )五部分组成。

      其中:金额=单价*数量计算得出函数 ReadDat()是读取这 100 个销售记录并存入结构数组 sell 中请编制函数 SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列, 最终排列结果仍存入结构数组 sell 中,最后调用函数 WriteDat() 把结果输出到文件 OUT4.DAT 中void SortDat(){int i,j;PRO xy;for(i=0;isell[j].je){xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}★☆题目 33(方差运算题)请编制函数 ReadDat()实现从文件 IN.DAT 中读取 1000 个十进制整数到数组 xx 中;请编制函数 Compute()分别计算出 xx 中偶数的个数 even,奇数的平均值 ave1,偶数的平均值 ave2 以及方差 totfc 的值,最后调用函数 WriteDat()把结果输出到 OUT.DAT 文件中计算方差的公式如下:N 2totfc=1/N∑(xx[i]-ave2)i=1设 N 为偶数的个数,xx[i]为偶数,ave2 为偶数的平均值。

      原始数据文件存放的格式是:每行存放 10 个数,并用逗号隔开 (每个数均大于 0 且小于等于2000)/*********编制函数 ReadDat()的部分************。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.