/*
通過main函數依次調用read DAT()-讀取數據、jsSort() -過濾排序、writeDat() -寫入數據,滿足題目要求。
*/
# include & ltstdio.h & gt
# include & ltstring.h & gt
# include & ltstdlib.h & gt
typedef結構{
//聲明結構
int x1,x2,x3;
}數據;
數據aa[200],bb[200];//定義2個結構數組
int jsSort()
{
int i,j,CNT = 0;
數據xy;
//下面是大於第壹個數字的第二個數字加上第三個數字的總和。
for(I = 0;我& lt200;i++)
if(aa[I]. x2 & gt;(aa[I]. x 1+aa[I]. x3))bb[cnt++] = aa[I];
//下面第二個數和第三個數之和的大小按降序排序。
for(I = 0;我& ltCNT-1;i++)
for(j = I+1;j & ltcntj++)
if(bb[I]. x2+bb[I]. x3 & gt;bb[j].x2+bb[j].x3)
{
xy = bb[I];bb[I]= bb[j];bb[j]= xy;}
返回cnt//返回滿足條件的數字。
}
void main()
{
int計數;
read dat();
count = jsSort();/*返回滿足條件的數字*/
writeDat(計數);
}
readDat()
{
文件* in
int I;
in=fopen("in.dat "," r ");//通過讀取打開in.dat。
//下面是分組讀取in.dat中的數據,賦給結構數組aa[]
for(I = 0;我& lt200;i++)
fscanf(in," %d %d %d ",& ampaa[I]. x 1;aa[i].x2,& ampaa[I]. x3);
fclose(in);
}
writeDat(int count)
{
文件* out
int I;
系統(“CLS”);
out=fopen("out.dat "," w ");//通過寫入打開out.dat。
//下面是將結構數組bb[]中的元素寫入out.dat
for(I = 0;我& lt數數;i++)
{
Printf("%d,%d,%d第壹個數字+第三個數字=% d \ n ",bb [i] .x1,bb [i] .x2,bb [i] .x3,bb [i] .x1+bb [
fprintf(out," %d %d %d\n ",bb[i].x1,bb[i].x2,bb[I]. x3);
}
fclose(out);
}