gpt4 book ai didi

c - 不会读数学方程式。为什么是这样?

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:31 25 4
gpt4 key购买 nike

很抱歉没有添加完整的代码。我犯了一个愚蠢的错误。

  #include <stdio.h>
int main(int argc, char ** argv) {
float celcius, fahrenheit, kelvin, interval;
int c, f, k;
char temp;

printf("which temperature is being input? (C,F,K) ");
scanf("%s", &temp);

if(temp == 'c') {
printf("enter a starting temperature");
scanf("%f", &celcius);
fahrenheit=celcius*9/5+32;
kelvin=celcius+273.2;
printf("%f, %f, %f", celcius, fahrenheit, kelvin);
}

else if(temp == 'f') {
printf("Please enter a starting temperature");
scanf("%f", &fahrenheit);
celcius=fahrenheit-32*5/9;
kelvin=fahrenheit-32*5/9+273.2;
printf("%f, %f, %f", celcius, fahrenheit, kelvin);
}

else if(temp == 'k') {
printf("enter a starting temperature");
scanf("%f", &kelvin);
fahrenheit=kelvin-273*1.8+32;
celcius=kelvin-273.2;
printf("%f, %f, %f", celcius, fahrenheit, kelvin);
}
}

所以它询问输入的温度和起始温度,但为什么不计算数学方程式?

最佳答案

正在计算数学方程式

fahrenheit=celcius*9/5+32;
kelvin=celcius+273.15;

但你没有打印它。
试试这个

printf("%f, %f, %f", celcius, fahrenheit, kelvin);  

并且不要忘记将 scanf("%s", &temp); 更改为

scanf(" %c", &temp);  
temp = tolower(temp); // include <ctype.h> header

或更好地放置

int c;
while ((c = getchar()) != `\n` && c != EOF);

scanf("%c", &temp); 之后。这将吃掉输入的第一个字符以外的所有字符。

根据 OP 的评论;

How can I do it so that the Temperature name appears on top of the temperature?

printf("celcius \tfahrenheit \tkelvin);  
printf("%5f\t%5f\t%5f", celcius, fahrenheit, kelvin);

关于c - 不会读数学方程式。为什么是这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com