第4类 数位分解并重组后再筛选统计并排序

第4类 数位分解并重组后再筛选统计并排序

ID:14733104

大小:53.00 KB

页数:21页

时间:2018-07-30

第4类 数位分解并重组后再筛选统计并排序_第1页
第4类 数位分解并重组后再筛选统计并排序_第2页
第4类 数位分解并重组后再筛选统计并排序_第3页
第4类 数位分解并重组后再筛选统计并排序_第4页
第4类 数位分解并重组后再筛选统计并排序_第5页
资源描述:

《第4类 数位分解并重组后再筛选统计并排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4类数位分解并重组后再筛选统计并排序第4类数位分解并重组后再筛选统计并排序试题二十七已知数据文件IN.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的2位数ab(新十位数的2位数字是原4位数的千位数字,新2位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新2位数的个位数字是原4位数的百位数字),如果新组成两个2位数ab-cd>=0且ab-cd<=10且两个数均

2、是奇数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsVal(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/in

3、ttemp;/*定义数据交换时的暂存变量*/intab,cd;/*存储重新组合成的十位数*/for(i=0;i<200;i++)/*逐个取每一个4位数*/{a4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/10;/*求4位数的十位数字*/a1=a[i]%10;/*求4位数的个位数字*/ab=10*a4+a2;/*把千位数字和十位数字重新组成一个新的十位数ab*/cd=10*a1+a3;/*把个位数字和百位数字组成另一个新的十位数cd*/if((ab-cd)>=0&

4、&(ab-cd)<=10&&ab%2==1&&cd%2==1&&a4!=0&&a1!=0){/*如果ab-cd>=0且ab-cd<=10且两个数均是奇数同时两个新十位数的十位上的数字均不为零*/b[cnt]=a[i];/*则把满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数*/}}for(i=0;i

5、200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的2位数(新2位数的十位数字是原4位数的千位数字,新2位数的个位数字是原4位数的个位数字),把百位数字和十位数字组成另一个新的2位数(新2位数的十位数字是原4位数的百位数字,新十位数的个位数字是原4位数的十位数字),如果新组成的两个2位数均是奇数并且两个2位数中至少有一个数能被5整除,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要求计算满足上述条件的4位数的个数cnt,最

6、后调用写函数writeDat(),把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsVal(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/intab,cd;/*存储重新组合成的十位数*/for(i=0;i<200;i++)/

7、*逐个取每一个4位数*/{a4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/10;/*求4位数的十位数字*/a1=a[i]%10;/*求4位数的个位数字*/ab=10*a4+a1;/*把千位数字和个位数字重新组成一个新的十位数*/cd=10*a3+a2;/*把百位数字和十位数字组成另一个新的十位数*/if(ab%2==1&&cd%2==1&&(ab%5==0

8、

9、cd%5==0)&&a4!=0&&a3!=0){/*如果这两个十位数均是奇数并且两个十位数中至少有一个数

10、能被5整除,同时两个新十位数的十位上的数字均不为零*/b[cnt]=a[i];/*则把满足条件的数存入数组b中*/cnt+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。