题目:函数的功能是对参数p传送的首地址,n为元素个数的双精度 型数组按降序排序。#include<stdio.h> #include<stdlib.h> void fun(double *,int); void SaveRes(void); void fun(double *p,int n) { int i,j; double t; for(i=0;i<n-1;i++) { for(j=1;j<n;j++) { if((*(p+i))<(*(p+j))) { t=*(p+i); *(p+i)=*(p+j); *(p+j)=t; } } } } int main(void) { double a[10]={0.45,-0.97,0.56,0.13,0.66,-0.83,0.78,-0.19,0.46,-0.23}; int i; fun(a,10); printf("After sort\n"); for(i=0;i<10;i++) { printf("%6.2lf\n",a[i]); } SaveRes(); return 0; } void SaveRes(void) { FILE *fpIn,*fpOut; double a[12]; int i; fpIn = fopen("in0202.dat","r"); if(fpIn==NULL) { printf("File open error!"); exit(1); } fpOut = fopen("out0202.dat","w"); if(fpOut==NULL) { printf("File open error!"); exit(1); } for(i=0;i<12;i++) { fscanf(fpIn,"%lf",&a[i]); } fun(a,12); for(i=0;i<12;i++) { fprintf(fpOut,"%6.2lf",a[i]); } fclose(fpIn); fclose(fpOut); }
时间: 2023-12-04 21:02:11 浏览: 81
这段代码的功能是将一个双精度型数组按照降序排序,并将结果输出到屏幕和文件中。主函数中定义了一个双精度型数组a,并将其作为参数传递给函数fun进行排序。排序完成后,使用循环将排序后的结果输出到屏幕上。最后调用SaveRes函数,该函数打开in0202.dat文件并读取其中的12个双精度型数据到数组a中,再调用函数fun对数组a进行排序并将排序后的结果输出到out0202.dat文件中。
阅读全文