| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 495 人关注过本帖
标题:100题第15题
只看楼主 加入收藏
redalert
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2005-2-4
收藏
 问题点数:0 回复次数:0 
100题第15题

15:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
-------------------------
void jsVal()
{
int I,j;
int a1,a2,a3,a4,k;
for (I=0;I<MAX;I++) /*MAX初值为200,为已知*/
{
a1=a[I]/1000; /*求千位*/
a2=a[I]%1000/100; /*求百位*/
a3=a[I]%100/10; /*求十位*/
a4=a[I]%10; /*求个位*/
if ((a1<=a2)&&(a2<=a3)&&(a3<=a4)&&(a[I]%2==0)) /*如果千位小于等于百位,且百位小于等于十位,且十位小于等于个位,且该数为偶数*/
{
b[cnt]=a[I]; /*将a[I] 存入b 数组。*/
cnt++;
}
}
for(I=0;I<cnt-1;I++)
for(j=I+1;j<cnt;j++)
if (b[I]>b[j]) /*题目要求的是从大到小排序,那么这里是否该为: if (b[I]<b[j])*/
{
k=b[I];
b[I]=b[j];
b[j]=k;
}
}

2006-03-16 15:54
快速回复:100题第15题
数据加载中...
 
   



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

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