题目48.txt

来自「c语言小程序100个」· 文本 代码 · 共 20 行

TXT
20
字号
  题目48:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数SVALUE(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数CNT,再把所有满足条件的四位数依次存入数组bb中,然后对数组bb的四位数按从小到大的顺序进行排序,最后调用写函数WRITEDAT()把数组b中的数
输出到OUT.DAT文件.
  例如:6712,6+2=7+1,则该数满足条件存入数组bb中,且个数CNT=CNT+1.
       8129,8+1<>2+9,则该数不满足条件忽略.
   注意:部分源程序已给出。
   程序中已定义数组:a[300],已定义变量:cnt
   请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
---------------------
void jsValue() /*标准答案*/
{int I,thou,hun,ten,data,j;
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 (thou+data==hun+ten){b[cnt]=a[I];cnt++;}
 }
for(I=0;I<cnt-1;I++)
  for(j=I+1;j<cnt;j++)
   if(b[I]>b[j])
    {data=b[I]; b[I]=b[j]; b[j]=data;}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?