作者:不详 来源:互联网   酷勤网收集 2008-03-23

摘要
  依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是偶数, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。
    题目45:已知数据文件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;
 for(I=5;I<MAX-5;I++)
  {for(j=I-5;j<I;j++)
  {if(a[I]>a[j])
flag=1;
   else flag=0;
   if(a[I]%2!=0)
flag=0;
if (flag==0) break;}
   if(flag==1) {b[cnt]=a[I];cnt++;}
  }
 for(I=0;I<cnt-1;I++)
  for(j=I+1;j<cnt;j++)
   if(b[I]<b[j])
    {flag=b[I];b[I]=b[j];b[j]=flag;}
}

分类: 题库中心 南开100题



关于酷勤 | 联系方式 | 免责声明 | 友情链接