gpt4 book ai didi

c - While 循环中的 0.1 增量(C 编程)

转载 作者:行者123 更新时间:2023-11-30 20:13:55 26 4
gpt4 key购买 nike

我正在参加 C 编程入门类(class)。我们最新的项目要求我们编写代码,使用 while 循环将 1-10 之间的 xsqrt(x) 值制成表格,步长为 0.1。然而,当我尝试执行 0.1 增量时,起始整数 1 中没有添加任何内容,并且程序在无限循环中运行。我将在下面发布代码。除了不执行该步骤之外,程序运行良好(并且可以使用其他增量,例如 1 等)。我该如何解决这个问题?

#include <stdio.h>
#include <math.h>
int main(void)
{
int x=1;
double sq_rt;
printf("Square Root Table: \n");
printf("Value of X Square Root of X\n");
while (x <= 10)
{
sq_rt = sqrt (x);
printf("%6i %20f \n", x, sq_rt);
x += 1e-1;
}
return 0;
}

最佳答案

int 类型仅允许您存储整数(即 -2、-1、0、1、2 等)。要存储带小数点的数字,您需要 double (或double)类型。将 main() 的第一行更改为:

double x = 1.0;

如果您尝试将 1e-1 添加到 int,它会首先将其转换为 int - 的类型>x - 当截断时最终将为零,因此您永远不会真正向 x 添加任何内容。

关于c - While 循环中的 0.1 增量(C 编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28489871/

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