欢迎来到天天文库
浏览记录
ID:14736258
大小:52.50 KB
页数:19页
时间:2018-07-30
《第2类 数位分解后按数筛选统计并排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2类数位分解后按数筛选统计并排序第2类数位分解后按数筛选统计并排序试题十一已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件中。例如:6712,6+2=7+1,则该数满足条件,存入数组b中
2、,且个数cnt=cnt+1。8129,8+9≠1+2,则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsValue(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;i<300;i++)/*逐个取每一个4位数*/{a
3、4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/10;/*求4位数的十位数字*/a1=a[i]%10;/*求4位数的个位数字*/if(a4+a1==a3+a2)/*如果千位数加个位数等于百位数加十位数*/{b[cnt]=a[i];/*将满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数cnt*/}}for(i=0;i4、;jb[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}试题十二已知数据文件IN.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件。注意:部分源程序已给出。程序中已定义数组:a[2005、],b[200],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsVal(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;i<200;i++)/*逐个取每一个4位数*/{a4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/6、10;/*求4位数的十位数字*/a1=a[i]%10;/*求4位数的个位数字*/if(a4%2!=0&&a3%2!=0&&a2%2!=0&&a1%2!=0)/*如果4位数各位上的数字均是奇数*/{b[cnt]=a[i];/*将满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数*/}}for(i=0;i7、题十三已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,8+1≠2+9,则该数不满足条件,忽略。8、注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsValue(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;
4、;jb[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}试题十二已知数据文件IN.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT.DAT文件。注意:部分源程序已给出。程序中已定义数组:a[200
5、],b[200],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsVal(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;i<200;i++)/*逐个取每一个4位数*/{a4=a[i]/1000;/*求4位数的千位数字*/a3=a[i]%1000/100;/*求4位数的百位数字*/a2=a[i]%100/
6、10;/*求4位数的十位数字*/a1=a[i]%10;/*求4位数的个位数字*/if(a4%2!=0&&a3%2!=0&&a2%2!=0&&a1%2!=0)/*如果4位数各位上的数字均是奇数*/{b[cnt]=a[i];/*将满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数*/}}for(i=0;i7、题十三已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,8+1≠2+9,则该数不满足条件,忽略。8、注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsValue(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;
7、题十三已知数据文件IN.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数从大到小进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,8+1≠2+9,则该数不满足条件,忽略。
8、注意:部分源程序已给出。程序中已定义数组:a[300],b[300],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。【参考答案】voidjsValue(){ inti,j;/*定义循环控制变量*/inta1,a2,a3,a4;/*定义变量保存4位数的每位数字*/inttemp;/*定义数据交换时的暂存变量*/for(i=0;
此文档下载收益归作者所有