| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 570 人关注过本帖
标题:100题第14题
只看楼主 加入收藏
redalert
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2005-2-4
收藏
 问题点数:0 回复次数:0 
100题第14题
14:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以后的5个数且该数是奇数, 则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
-------------------------
void jsVal()
{
int I,j,flag=0;
int k;
for(I=0;I<MAX-5;I++) /*原程序中,已定义MAX为整型变量,且初值为200 0-194,5个数*/
{
for(j=I+1;j<=I+5;j++) /*1-199*/
{
if (a[I]>a[j]) /*如果前一个数大于后一个数*/
flag=1; /*标记置1*/
else
{
flag=0;break; /*如果不是这样,那么标记置0,且跳出循环*/
}
if (a[I]%2==0) /*如果a[I]能被2整除,即不是奇数*/
flag=0;
}
if (flag==1) /*如果标记为1*/
{
b[cnt]=a[I]; cnt++; /*把a[I]存入b数组中*/
}
}
for(I=0;I<cnt-1;I++) /*以下为从小到大排序*/
for(j=I+1;j<cnt;j++)
if (b[I]>b[j]) /*注意:这是排序经常要用到的,如果要求从小到大,那么条件必须是前者大于后者,反之一样*/
{
k=b[I];
b[I]=b[j];
b[j]=k;
}
}
搜索更多相关主题的帖子: cnt 位数 函数 定义 DAT 
2006-03-16 15:46
快速回复:100题第14题
数据加载中...
 
   



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

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