计算机程序设计java语言数字排序问题.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
计算机程序设计java语言数字排序问题 计算机程序设计java语言数字排序问题全文共46页,当前为第1页。计算机程序设计java语言数字排序问题全文共46页,当前为第1页。 计算机程序设计java语言数字排序问题全文共46页,当前为第1页。 计算机程序设计java语言数字排序问题全文共46页,当前为第1页。 计算机程序设计java语言数字排序问题 题目:已知数据文件IN10.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT10.DAT文件。 1 jsValue() { int i,thou,hun,ten,data,j; for(i=0;i<300;i++) { thou=a[i]/1000; /*取得四位数的千位数字*/ hun=a[i]%1000/100; /*取得四位数的百位数字*/ ten=a[i]%100/10; /*取得四位数的十位数字*/ data=a[i]%10; /*取得四位数的个位数字*/ if (thou-hun-ten-data>0) { b[cnt]=a[i]; cnt++; } } for(i=0;i<cnt-1;i++) /*将数组b中的四位数按从小到大计算机程序设计java语言数字排序问题全文共46页,当前为第2页。计算机程序设计java语言数字排序问题全文共46页,当前为第2页。的顺序进行排序*/ 计算机程序设计java语言数字排序问题全文共46页,当前为第2页。 计算机程序设计java语言数字排序问题全文共46页,当前为第2页。 for(j=i+1;j<cnt;j++) if(b[i]>b[j]) { data=b[i]; b[i]=b[j]; b[j]=data; } } 2 if (thou+data==hun+ten) { b[cnt]=a[i]; cnt++; } } for(j=i+1;j<cnt;j++) if(b[i]>b[j]) { data=b[i]; b[i]=b[j]; b[j]=data; } 3 在文件IN45.DAT中有200个正整数,且每个数均在1 000至9 999之间。函数readDat()的功能是读取这200个数存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按每个数的后三位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后三位相等的数,则对这些数按原始4位数据进行升序排列。最后,调用函数writeDat()把结果bb输出到文件OUT45.DAT中。 void jsSort() { int i,j,data; for(i=0;i<199;i++) /*对数组中的四位数按后三位进行从大到小排序*/ for(j=i+1;j<200;j++) { 计算机程序设计java语言数字排序问题全文共46页,当前为第3页。计算机程序设计java语言数字排序问题全文共46页,当前为第3页。 if (aa[i]%1000<aa[j]%1000) /*比较每个数的后三位*/ 计算机程序设计java语言数字排序问题全文共46页,当前为第3页。 计算机程序设计java语言数字排序问题全文共46页,当前为第3页。 { data=aa[i]; aa[i]=aa[j]; aa[j]=data; } else if(aa[i]%1000==aa[j]%1000)/*若后三位数相等*/ if (aa[i]>aa[j]) /*则要按原四位数的值进行从小到大排序*/ { data=aa[i]; aa[i]=aa[j]; aa[j]=data; } } for(i=0;i<10;i++) bb[i]=aa[i]; /*将排序后的前10个数存入数组b中*/ } 已知数据文件IN13.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT13.DAT文件。 { int i,thou,hun,ten,data,j; for(i=0;i<300;i++) { thou=a[i]/1000; /*取得四位数的千位数字*/ hun=a[i]%1000/100; /*取得四位数 在计算机程序设计领域,Java语言因其跨平台、面向对象等特性,成为解决各类算法和数据处理问题的重要工具。本文将深入探讨三个涉及数字排序的Java编程问题,每个问题都有其特定的排序逻辑和算法应用。 第一个问题要求我们在一个包含300个四位数的数组`a`中找出特定条件下的数字,并对它们进行排序。具体而言,这个任务是筛选出千位数字减去百位、十位和个位数字大于零的数,将这些数存入数组`b`中,并将`b`中的数字按照从小到大的顺序进行排序。问题的解决方法首先需要遍历数组`a`,逐个计算出每个四位数的千位、百位、十位和个位数字,接着根据条件判断每个数是否满足千位数上的数减去其他位数上的数大于零。满足条件的数被添加到数组`b`中,并对计数器`cnt`进行递增。排序部分则通过冒泡排序算法实现,通过两层嵌套循环对数组`b`进行遍历和比较,最终得到一个有序数组。冒泡排序算法虽然简单易懂,但在处理大量数据时效率并不高,因此在实际应用中可能需要考虑更高效的排序算法。 第二个问题与第一个问题相比,虽然核心目标都是排序,但排序的依据和方法有所不同。在这个问题中,我们面对的是一个包含200个正整数的数组`aa`,这些数的范围在1000到9999之间。排序的依据是每个数的后三位数字,要求按照后三位数字的大小进行降序排列。特别地,如果有多个数的后三位相同,则需要按照这四个数字的原始顺序进行升序排列。同样,这个问题的解决也涉及到数组的遍历和排序操作。通过两层循环对数组`aa`进行排序,以实现后三位数字的降序排列。当遇到后三位数字相同时,需要进行比较并按原始四位数的顺序进行升序排列。将排序后的前10个元素存入数组`bb`。这个任务的排序算法同样可以使用冒泡排序,但考虑到性能和效率,实际编程中应该考虑使用更为高效的排序方法。 第三个问题与第一个问题类似,都是在数组`a`中筛选满足特定条件的数字,并对这些数字进行排序。不同的是,第三个问题中,我们要找的是千位与百位之和等于十位与个位之和的数。筛选出满足条件的数后,需要对它们按照从大到小的顺序进行排序。这个问题的处理方法与前两个问题类似,首先也是遍历数组`a`,对每个数进行分解,然后根据条件进行筛选和计数,将满足条件的数存入数组`b`。接着,对`b`数组进行排序,这次采用的是从大到小的顺序。虽然问题描述未提及具体排序算法,但可以推断,和前两个问题类似,可以使用冒泡排序算法,或者根据实际情况采用更高效的排序方法。 以上三个问题都强调了数组操作、条件判断以及排序算法在Java编程中的应用。对于这些问题,虽然可以通过编写特定的函数和使用基本的排序算法来解决,但在实际应用中,为了提高程序的执行效率和可维护性,往往需要根据数据量的大小和特定需求来选择合适的算法。Java内置的`Arrays.sort()`方法,或者更高级的排序算法如快速排序、归并排序等,都是提高排序效率的有效手段。通过这些方法,可以有效地处理大量的数据,并在实际开发中应用这些技术解决更复杂的排序问题。



































剩余45页未读,继续阅读


- 粉丝: 120
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 财务信息化:促进中小企业发展的方法探究.docx
- 智能家居—可能性研究分析评测报告.doc
- 互联网+一站式校园创业服务探索.docx
- 项目管理中的人力资源管理和沟通管理.docx
- 云计算网络环境下的信息安全问题研究.docx
- 大学设计箱体注塑模CADCAM方案一.doc
- 大数据下的医院财务信息共享研究.docx
- C语言程序设计算法资料.ppt
- PLC控制机械手95153.doc
- 学生成绩管理系统数据结构程序设计实验报告2.doc
- 网络工程第一章ppt.ppt
- 学校、幼儿园网络视频监控方案-教育文博.docx
- 大模型提示词优化器,让大模型根据测试结果进行反思生成优化建议,并结合用户要求进行提示词优化
- 单片机的按摩机的控制研究与设计开发.doc
- 伪均匀随机数的计算机检验.docx
- 大模型提示词优化器:依测试反思提建议并按用户要求优化


