最近中文字幕完整版高清,宅男宅女精品国产av天堂,亚洲欧美日韩综合一区二区,最新色国产精品精品视频,中文字幕日韩欧美就去鲁

首頁 > 考試輔導 > 計算機考試 > 計算機等級考試 > 試題集錦 > 2006年9月全國等級考試三級c語言上機題庫(六)

2006年9月全國等級考試三級c語言上機題庫(六)

題目6 正整數(shù)排序

在文件in.dat中有200個正整數(shù),且每個數(shù)均在1000至9999之間。函數(shù)readdat()讀取這200個數(shù)存放到數(shù)組aa中。請編制函數(shù)jssort(),其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進行降序排列,然后取出滿足此條件的前10個數(shù)依次存入數(shù)組b中,如果后三位的數(shù)值相等,則按原先的數(shù)值進行升序排列。最后調(diào)用函數(shù)writedat()把結果bb輸出到文件out.dat中。
例:處理前 9012 5099 6012 7025 8088
處理后 5099 8088 7025 6012 9012
注意:部分源程序已給出。
  請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)readdat()和輸出數(shù)據(jù)函數(shù)writedat()的內(nèi)容。
#include<stdio.h>
#include<string.h>
#include<conio.h>

int aa[200],bb[10];

void jssort()
{
int i,j,data;
for(i=0;i<199;i++)
for(j=i+1;j<200;j++)
if(aa[i]%1000<aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]>aa[j])
{data=aa[i];aa[i]=aa[j];aa[j]=data;}
for(i=0;i<10;i++)
bb[i]=aa[i];
}

void main()
{
readdat();
jssort();
writedat();
system("pause");
}

readdat()
{
file *in;
int i;

in=fopen("in.dat","r");
for(i=0; i<200; i++) fscanf(in,"%d,",&aa[i]);

fclose(in);
}

writedat()
{
file *out;
int i;
clrscr();
out=fopen("out.dat","w");
for(i=0; i<10; i++){
printf("i=%d,%d\n",i+1,bb[i]);
fprintf(out,"%d\n",bb[i]);
}
fclose(out);
}