основная сумма = 10000, процентная ставка = 5%, 10000 → 20000, когда она удвоится? - PullRequest
0 голосов
/ 22 мая 2018
#include <stdio.h>

int main()
{
    int x=5;  //x = interest rate(5%)
    int y=10000; //y = principal

    int n = 0;   //n = after years
    while (1)
    {
        n++;
        y += y*(x/100);
        if(y == 20000)
            break;

    }

    printf("%d years later, double.",n);

    return 0;
}

Когда я запускаю его, ничего не происходит.

Описание Путь к ресурсу Тип Местоположение не может открыть выходной файл mm.exe: Отказано в разрешении mm C / C ++ Проблема

Буду признателенесли вы дадите мне знать, что пошло не так.

1 Ответ

0 голосов
/ 22 мая 2018

Поскольку у вас есть целое число X и его значение равно 5, значение

y+= y*(x/100)

эквивалентно

y+= 0

как (5/100) с целочисленным делением, что дает 0.Это приводит к тому, что while (1) зацикливается бесконечно, и, следовательно, никогда не позволит программе завершиться.

Кроме того, ошибка отказа в разрешении выглядит так, как будто ее можно исправить, изменив местоположение файла сохранения. Вот мой источник и дополнительная информация

Надеюсь, это поможет!

...