Я нахожусь во вводном классе программирования C. В нашем последнем проекте мы пишем код для табуляции x
и sqrt(x)
значений от 1 до 10 с шагом 0,1 с использованием цикла while. Однако, когда я пытаюсь выполнить приращение 0,1, ничего не добавляется к начальному целому числу 1, и программа работает в бесконечном цикле. Я отправлю код ниже. Помимо того, что он не выполняет этот шаг, программа работает нормально (и работает с другими приращениями, например 1 и т. Д.). Как это разрешить?0.1 приращение в петле While (программирование на С)
#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;
}
Вы не можете добавить 0,1 (число с плавающей запятой) в целое число ('x'); объявить 'x' как плавающую точку:' double x = 1; '. – Evert
Да, вы можете. Это не всегда делает то, что вы ожидаете. –
@ MartinTörnwall Да, но я думаю, что для этого вопроса имеет смысл просто держать его в «нет, вы не можете». Было бы хорошо, как полный ответ, чтобы объяснить, что здесь происходит. – Evert