После ввода дробных чисел, данные не заносятся в переменные - C (СИ)
Формулировка задачи:
Пишу лабу для универа. Никогда не думал, что возникнут затыки на таком:
После ввода целых чисел все нормально, считаются как надо.
Но после ввода дробных чисел, данные во-первых не заносятся в переменные, во-вторых
не понимаю че попадает в поток, за счет чего следующий scanf даже не предлагает мне ввести данные,
мол он уже и так что-то прочитал и уже последний scanf опять спрашивает, что ввести?
Помогите разобраться.
#include <stdio.h> #include <string.h> #include <locale.h> int main(int argc, char **argv) { // #1 Сумма трех чисел введенных с клавиатуры int arg1 = 0, arg2 = 0, arg3 = 0; double darg1 = 0, darg2 = 0, darg3 = 0; // #2 Форматированный вывод char st1[50], st2[50], st3[50]; int x = 0, y = 0, z = 0; // #1 setlocale(LC_ALL, "Russian_Russia.1251"); printf("Введите 3 целых числа: "); scanf("%d %d %d", &arg1, &arg2, &arg3); printf("Сумма чисел равна: %d\n\n", (arg1 + arg2 + arg3)); printf("Введите 3 числа с плавающей точкой: "); scanf("%lf %lf %lf", &darg1, &darg2, &darg3); printf("Сумма чисел равна: %f\n\n", (darg1 + darg2 + darg3)); // #2 printf("Введите 3 целых числа: "); scanf("%d %d %d", &x, &y, &z); printf("\nВведите 3 строки: "); scanf("%50s", &st1); scanf("%50s", &st2); scanf("%50s", &st3); printf("%55s%d\n%55s%d\n%55s%d\n", st1, x, st2, y, st3, z); return 0; }
Решение задачи: «После ввода дробных чисел, данные не заносятся в переменные»
textual
Листинг программы
printf("Введите 3 числа с плавающей точкой: "); scanf("%lf %lf %lf", &darg1, &darg2, &darg3);
Объяснение кода листинга программы
- Вводится строка с приглашением к вводу трех чисел с плавающей точкой.
- Используется функция scanf для чтения трех чисел с плавающей точкой.
- Введенные числа сохраняются в переменных darg1, darg2 и darg3.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д