| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:100题第5题
只看楼主 加入收藏
redalert
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2005-2-4
收藏
 问题点数:0 回复次数:3 
100题第5题
5:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:处理前 6012 5099 9012 7025 8088
处理后 9012 6012 7025 8088 5099
注意:部分源程序已给出。
  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
--------------------
void jsSort() /*标准答案*/
{
int I,j,data;
for(I=0;I<199;I++) /*200个数循环*/
for(j=I+1;j<200;j++) /*200个数循环,二重循环*/
{
if (aa[I]%1000>aa[j]%1000) /*如果aa[I]的去掉千位数大于aa[j]的去掉千位上的数*/
{
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++) /*满足条件的10个数*/
bb[I]=aa[I]; /*将aa中的数存入bb中*/
}
嗨,终于看懂一道题。!!!!
搜索更多相关主题的帖子: 源程序 正整数 
2006-03-15 12:06
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
有个建议:楼主要是发出来想和大家分享,可以,你可以把这些题发在一起帖子里,给你置顶也行
但你要多找些常见问题上来

最后不要一个题发一个帖子,你看懂一个发一个,不会一个发一个(

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-15 14:35
redalert
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2005-2-4
收藏
得分:0 

斑竹的话我明白了,从第七题开始我就只发一个帖了!遵命!


能学多少是多少,不学是傻瓜!
2006-03-15 14:46
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
全发一个帖里~别人查找起来也方便

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-15 14:47
快速回复:100题第5题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved