gpt4 book ai didi

c - 循环中的表无法正确显示数据

转载 作者:行者123 更新时间:2023-11-30 16:20:59 25 4
gpt4 key购买 nike

我有一个小程序,可以将用户输入从华氏温度转换为摄氏度。然后它会显示从 1 到 100 的华氏度及其相应的摄氏度。但是当运行时,它会输出这个。

20 Fahrenheit = -15 Celcius 25 Fahrenheit = -15 Celcius 30 Fahrenheit = -15 Celcius
35 Fahrenheit = -15 Celcius 40 Fahrenheit = -15 Celcius 45 Fahrenheit = -15 Celcius
50 Fahrenheit = -15 Celcius
6 Fahrenheit = -14 Celcius 12 Fahrenheit = -14 Celcius 18 Fahrenheit = -14 Celcius
24 Fahrenheit = -14 Celcius 30 Fahrenheit = -14 Celcius 36 Fahrenheit = -14 Celcius
42 Fahrenheit = -14 Celcius 48 Fahrenheit = -14 Celcius 54 Fahrenheit = -14 Celcius
60 Fahrenheit = -14 Celcius
7 Fahrenheit = -13 Celcius 14 Fahrenheit = -13 Celcius 21 Fahrenheit = -13 Celcius
28 Fahrenheit = -13 Celcius 35 Fahrenheit = -13 Celcius 42 Fahrenheit = -13 Celcius
49 Fahrenheit = -13 Celcius 56 Fahrenheit = -13 Celcius 63 Fahrenheit = -13 Celcius
70 Fahrenheit = -13 Celcius
8 Fahrenheit = -13 Celcius 16 Fahrenheit = -13 Celcius 24 Fahrenheit = -13 Celcius
32 Fahrenheit = -13 Celcius 40 Fahrenheit = -13 Celcius 48 Fahrenheit = -13 Celcius
56 Fahrenheit = -13 Celcius 64 Fahrenheit = -13 Celcius 72 Fahrenheit = -13 Celcius
80 Fahrenheit = -13 Celcius
9 Fahrenheit = -12 Celcius 18 Fahrenheit = -12 Celcius 27 Fahrenheit = -12 Celcius
36 Fahrenheit = -12 Celcius 45 Fahrenheit = -12 Celcius 54 Fahrenheit = -12 Celcius

这是我的代码。

#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;
}

最佳答案

以下是问题和修复的摘要:

确保使用正确的 float / double 类型

建议你做一个函数:

double f2c(double f) {
return (f - 32.0) * 5/9;
}

int main() {
printf("%g°F = %g°C\n", 100.0, f2c(100.0));
}

从 0 数到 99

for(i = 0; i < 100; i++) { }

漂亮地打印 0-99,每个换行 10 秒

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");
}
}

关于c - 循环中的表无法正确显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55052815/

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