开发一个程序,可以在两个温度范围之间进行转换, 基于两个输入值的开氏摄氏度:i)所需的转换比例;和 ii)温度清单。输入38“ K”表示用户打算将温度38摄氏度转换为开氏温度。
用户应该能够输入n个温度; 输入所有温度的表格, 转换,表示显示的每一列的大小;
您还应该告知用户平均温度以及 在原始尺寸和转换比例中最大和最小。
这是我需要做的。 在尝试其余练习之前,我试图正确显示值的输出。发生的情况是用户插入的第一个值永远不会出现,并且这些值会出现在数组的错误位置。 存储值时,我可能做错了,但我不知道它是什么。
我是编程的初学者,所以任何建议都将不胜感激,如果对问题的描述未正确描述,这是我第一次在这里发布,因此我仍在学习^^; < / p>
我首先是在没有函数的情况下执行此操作的,所以我尝试了一个原因,尽管它会更好,但也无法正常工作。
#include <stdio.h>
#include <stdlib.h>
float CalculaC(float tK);
float CalculaK(float tC);
void ShowResults(float storesC[], float storesK[], int elementNumbers);
int main(int argc, char *argv[])
{
float tC, tK, storesC[11], storesK[11], calC, calK;
int i,j;
char var;
for(i = 0; i < 10; i++)
{
printf("Insert 10 temperatures values and identify it as Celsius or Kelvin with K or C respectively:");
scanf("%f", &tC);
var = getchar();
if(var == 'C' || var == 'c')
{
storesC[i] = tC;
calK = CalculaC(storesC[i]);
printf("value: %f \n",calK); // this is just for testing if the function was working
}
else if(var == 'K' || var == 'k')
{
storesK[i] = tC;
calC = CalculaK(storesK[i]);
printf("value: %f \n",calC); // this is just for testing if the function was working
}
}
ShowResults(storesC,storesK,i);
getchar();
}
float CalculaC(float tK)
{
float temp;
temp = tK - 273.15;
return temp;
}
float CalculaK(float tC)
{
float temp;
temp = tC + 273.15;
return temp;
}
void ShowResults(float storesC[], float storesK[], int elementNumbers)
{
int j,z;
for(j = 1; j < elementNumbers; j++ )
{
printf("Value in Celcius: %f \n", storesC[j]);
}
for(z = 1; z < elementNumbers; z++ )
{
printf("Value in Kelvin: %f \n", storesK[z]);
}
}
我期望输出的温度是我在正确位置插入的每摄氏度和开尔文温度,但它们出现在错误的位置。这是输出的输出:output。如您所见,它会跳过摄氏温度和开氏温度的位置。