例2: 文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数readDat()是读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,将排序后的前10个数存入数组b中,如果数组b中出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列。最后调用函数writeDat()把结果bb输出到文件out.dat中。 例:处理前 6012 5099 9012 7025 8088
; Z" }( t5 v' N# C6 z 处理后 9012 6012 7025 8088 5099
) v4 k" G& d$ h 注意:部分源程序存在文件PROG1.C文件中。4 { F: v+ T/ R. v7 j
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
3 h- D! U/ C& r8 d 部分源程序如下:
' c( l* b, T! X! _. v5 u #include
% X) {9 ?+ s9 ?1 w, V #include
" x' X) [$ a; j7 y3 n #include) R# w, b9 N. m( _, v
int aa[200], bb[10] ;8 z6 H. P0 H. b1 r) o* E/ G
void jsSort()2 Y' Z4 B6 y3 [! F$ s# J. H# `
{
# T- f3 E3 B" C4 H J9 ~ }' k& b) \+ ~5 e" V) N
void main()
/ J; S) h! w- Y/ T* {1 q4 Z9 E {
3 e+ @' M/ K; ], F1 x readDat() ;
( e$ g6 m& j! M S jsSort() ; v! E4 T1 B! |
writeDat() ;
& N: _3 u. x5 d) B) \/ j7 Q }& n3 _. A0 R9 V4 Q2 |* G8 N1 X/ {
readDat()2 q# C2 s& v D
. O! K d0 x# v/ Q( r
{ |