我有一个小程序,可以将用户输入从华氏温度转换为摄氏温度。然后,它会以摄氏1到100的华氏度显示相应的华氏温度。但是在运行时,它会输出。
20华氏度= -15摄氏度25华氏度= -15摄氏度30 华氏= -15摄氏度
35华氏度= -15摄氏度40华氏度= -15摄氏度45 华氏= -15摄氏度
50华氏度= -15摄氏度
6华氏度= -14摄氏度12华氏度= -14摄氏度18 华氏= -14摄氏度
24华氏度= -14摄氏度30华氏度= -14摄氏度36 华氏= -14摄氏度
42华氏度= -14摄氏度48华氏度= -14摄氏度54 华氏= -14摄氏度
60华氏度= -14摄氏度
7华氏度= -13摄氏度14华氏度= -13摄氏度21 华氏= -13摄氏度
28华氏度= -13摄氏度35华氏度= -13摄氏度42 华氏= -13摄氏度
49华氏度= -13摄氏度56华氏度= -13摄氏度63 华氏= -13摄氏度
70华氏度= -13摄氏度
8华氏度= -13摄氏度16华氏度= -13摄氏度24 华氏= -13摄氏度
32华氏度= -13摄氏度40华氏度= -13摄氏度48 华氏= -13摄氏度
56华氏度= -13摄氏度64华氏度= -13摄氏度72 华氏= -13摄氏度
80华氏度= -13摄氏度
9华氏度= -12摄氏度18华氏度= -12摄氏度27 华氏= -12摄氏度
36华氏度= -12摄氏度45华氏度= -12摄氏度54 华氏= -12摄氏度
这是我的代码。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
//Clear the screen
system("clear");
float celsius, fahrenheit;
printf("Please enter the temperature in Fahrenheit: \n");
scanf("%f", &fahrenheit);
//Converts the temperature from fahrenheit to celsius
celsius = (fahrenheit - 32) * 5 / 9;
printf("%.2f Fahrenheit = %.2f Celsius \n", fahrenheit, celsius);
printf ("-------------------------------- \n");
int i,j;
int num;
float c;
//Loop to create table
for(i=1; i<=10; i++)
{
num = i;
for(j=1; j<=10; j++)
{
c = (i*j-32) * 5 / 9;
printf("%3d Fahrenheit = %f Celcius \t",(i*j), c);
}
printf("\n");
}
return 0;
}
答案 0 :(得分:0)
以下是问题和修复的摘要:
建议您执行一个函数:
double f2c(double f) {
return (f - 32.0) * 5/9;
}
int main() {
printf("%g°F = %g°C\n", 100.0, f2c(100.0));
}
for(i = 0; i <100; i ++){ }
for(i = 0; i <100; i ++){ print(“%3d%1c”,i,(1 + i)%10?'':'\ n'); }
#include <stdio.h>
double f2c(double f) {
return (f - 32) * 5/9;
}
int main() {
int i;
for(i = 0; i < 213; i++) {
printf("%3d°F => %3.0f°C%s", i, f2c(i), (1+i) % 10? " | " : "\n");
}
}