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

摘要
  请编制一函数SVALUE(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2

  题目80:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数SVALUE(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,
  例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
        8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2.
   注意:部分源程序已给出。
   程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2.
   请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
---------------------
void jsValue() /*标准答案*/
{int I,thou,hun,ten,data,n=0;
for(I=0;I<300;I++)
 {thou=a[I]/1000;  hun=a[I]%1000/100;
  ten=a[I]%100/10;  data=a[I]%10;
  if (data-thou-hun-ten>0)
  {cnt++;pjz1+=a[I];}
  else {n++;pjz2+=a[I];}
 }
pjz1/=cnt;pjz2/=n;
}
jsvalue()
{ int i,a1,a2,a3,a4;
 for(i=0;i<300;i++)
 { a1=a[i]/1000;   a2=(a[i]%1000)/100;
   a3=(a[i]%100)/10;   a4=a[i]%10;
   if(a4-a1-a2-a3>0)
   { cnt++;
     pjz1+=a[i];  }
   else
   pjz2+=a[i];      }
   pjz1/=cnt; pjz2/=(300-cnt);
}

分类: 题库中心 南开100题

上一篇:题目55:统计四位素数的个数,并对这些四位素数从小到大排序   下一篇:题目81:找出满足千位数上的数加百位数等于十位数上的数加个位数上的数,并求平均值