c语言练习题(OJ环境)39:温度转换

void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。

malloc函数的返回值类型为void*

你需要将摄氏度转换为 开氏度Kelvin)和 华氏度Fahrenheit),并以数组 ans = [kelvin, fahrenheit] 的形式返回结果。

返回数组 ans 。与实际答案误差不超过 10-5 的会视为正确答案

注意:

  • 开氏度 = 摄氏度 + 273.15
  • 华氏度 = 摄氏度 * 1.80 + 32.0

示例 1 :

输入:celsius = 36.50
输出:[309.65000,97.70000]
解释:36.50 摄氏度:转换为开氏度是 309.65 ,转换为华氏度是 97.70 

 

double* convertTemperature(double celsius, int* returnSize)
{
 //利⽤malloc函数为ans数组分配空间(2个double类型所需的内存)
 //这⾥需要将void*类型强制转化为double*类型
 double *ans = (double*)malloc(2*sizeof(double));
 //计算开⽒度
 ans[0] = celsius + 273.15;
 //计算华⽒度
 ans[1] = celsius* 1.80 + 32.00;
 //将数组⼤⼩定义为2
 *returnSize = 2;
 //返回数组
 return ans;
}

你可能感兴趣的:(c语言,数据结构,开发语言)