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

摘要
  编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。

    题目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++)
 {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];
      cnt++;}
  }
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;}
}

分类: 题库中心 南开100题

上一篇:题目14:从数组中取出一数,该数大于其后后的5个数且该数是奇数,统计这类数并排序   下一篇:题目28:找出满足题目中条件的4位数,并从小到大排序