编程:随机产生10组整数,每组数据有两列(共有20个数据),并且第1列数据范围在[300,600]之间,第2列数据范围在[250,350]之间,并且每组的第1列数据值大于第2列。(1)函数writeData()将产生的数据输出到文件OUT.DAT中。(2)假设第1列数据代表地面向上的长波辐射,第2列数据代表空气向下的长波辐射。函数readData()读取文件中的数据到二维数组XY中,函数jsValue()计算地表温度的平均值与方差。地表温度(开氏)计算公式为:,其中,波尔兹曼常数=5.677×10-8,比辐射率=0.91。(函数readData()、writeData()和jsValue()如果需要参数请自己定义,并注释说明)方差:,
/*根据吉尔霍夫定律计算地表温度的平均值与方差*/
#defineminNum1300
#definemaxNum1600
#defineminNum2250
#definemaxNum2350
#defineNum100
#defineEps0.91
#defineBoz0.00000005677
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
#include"math.h"
voidwriteData(FILE*);/*将产生的数据输出到文件中*/
voidreadData(FILE*,int[][]);/*读取文件中的数据到二维数组中*/
voidjsValue(int[][]);/*计算地表温度的平均值与方差*/
main(){
intXY[Num][2];
FILE*fpout,*fpin;/*指向OUT.DAT的文件指针,写和读文件*/
if((fpout=fopen("OUT.DAT","w"))==NULL){
printf("不能打开文件OUT.DAT!\n");
exit(0);
}
writeData(fpout);/*将产生的数据输出到文件OUT.DAT中*/
close(fpout);/*关闭文件*/
if((fpin=fopen("OUT.DAT","r"))==NULL){
printf("不能打开文件OUT.DAT!\n");
exit(0);
}
readData(fpin,XY);/*读取OUT.DAT文件中的数据到二维数组XY中*/
close(fpin);/*关闭文件*/
jsValue(XY);/*计算地表温度的平均值与方差*/
}
/*功能:随机产生100组在区间[300,600],[250,350]之间的整数,每组数据
有两列(共200个数据),第1列数据值大于第2列,将产生的数据输出到
文件OUT.DAT中
参数:fpout文件指针,指向文件OUT.DAT
返回值:无
*/
voidwriteData(FILE*fpout){
intk1,k2;/*产生的随机数*/
inti;/*循环变量*/
srand((unsigned)time(NULL));
for(i=1;i -->
|