Scanf работает, но значение не меняется - C (СИ)
Формулировка задачи:
Добрый день! Не могу понять эту проблему, прям загадка какая-то. Мы задаем переменной значение 75.
#include <stdio.h> int main(void) { int currentGrade = 0; int test = 0; scanf("%d", ¤tGrade); // допустим 75 test = currentGrade*(1 - (20/100)); // 75 * (1 - 0.2) = 60 printf(" test %d", test); // а выводит 75! return 0; }
Решение задачи: «Scanf работает, но значение не меняется»
textual
Листинг программы
double test = 0; ... test = (double)currentGrade*(1 - (20/100));
Объяснение кода листинга программы
double test = 0;
- объявление переменной типа double с именемtest
и инициализацией значения 0....
- здесь могут быть другие операции или действия, но они не указаны в вопросе.test = (double)currentGrade*(1 - (20/100));
- присваивание переменнойtest
результата вычисления выражения(double)currentGrade*(1 - (20/100))
.(double)currentGrade
- приведение типа переменнойcurrentGrade
к типу double.1 - (20/100)
- вычисление значения выражения, где 20/100 преобразуется в десятичную дробь, а затем результат вычитается из 1.- Полученный результат умножается на значение переменной
currentGrade
. - Результат вычисления присваивается переменной
test
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д