всегда печатать одно и то же значение с плавающей точкой - PullRequest
0 голосов
/ 31 августа 2018

Эта программа предназначена для печати значения с плавающей запятой t для различных значений i, но каждый раз печатает одно и то же значение. Даже если значение t меняется, оно всегда печатает ноль для каждого значения n.

Почему это происходит?

#include <stdio.h>

int main(){
    float n;
    float sum=0,t,s=1,i;
    scanf("%f",&n);
    for(i=0;i<n;i++){

        t=(100/(1+2i));
        printf("\n%f",t);
    }
}

Ввод: 5

Выход:

0.000000
0.000000
0.000000
0.000000
0.000000

Вот этот результат: ideone.com .

1 Ответ

0 голосов
/ 31 августа 2018

Проблема здесь:

t=(100/(1+2i));

Похоже, вы намеревались умножить 2 на i, но забудьте оператор умножения *. Вместо этого у вас есть 2i, который на самом деле является константой комплексного числа. Обратите внимание, что это не стандартный C, а расширение GCC (переключатель -pedantic выдает предупреждение).

Добавьте оператор умножения, и он должен работать как положено.

t=(100/(1+2*i));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...