Scanf работает через раз - C (СИ) (79980)
Формулировка задачи:
Подскажите, почему в 42 строчке scanf пропускается?
Вот вывод программы
#include <stdio.h> #include <stdlib.h> /* для rand(), srand() */ #include <time.h> /* для time() */ #define TRUE 1 #define SIZE 4 char *pGood[SIZE] = {"Очень хорошо!\n", "Превосходно!\n", "Отличная работа!\n", "Продолжайте в том же духе!\n"}; char *pBad[SIZE] = {"Нет. Пожалуйста пробуйте снова.\n", "Неправильно. Попытайтесь ещё раз.\n", "Не сдавайтесь!\n", "Нет. Продолжайте пробывать\n"}; int main(void) { int var1, var2; /* для хранения двух случайных чисел */ int result, tmp; char x = 'Y'; srand(time(NULL)); /* засееваем генератор чисел */ while(TRUE) { var1 = 1 + rand() % 9; var2 = 1 + rand() % 9; while(TRUE) { printf("Сколько будет %d умножить на %d?\n", var1, var2); scanf("%d", &result); if(var1 * var2 == result) { tmp = rand() % SIZE; printf("%s", pGood[tmp]); break; } else { tmp = rand() % SIZE; printf("%s", pBad[tmp]); } } /* конец while(TRUE) */ printf("Ещё? [Y/n]"); scanf("%c", &x); switch (x) { case 'Y': case 'y': break; case 'N': case 'n': return 0; /* выход из программы */ default: printf("Недопустимое значение\nВыход из программы..."); return 0; } /* конец switch */ }/* конец while(TRUE) */ return 0; }
Сколько будет 5 умножить на 9? 45 Продолжайте в том же духе! Ещё? [Y/n]Недопустимое значение Выход из программы...
Решение задачи: «Scanf работает через раз»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { char str[64] = "hello"; strcpy(str, strchr(str, '1')); printf("%s\n", str); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Объявление переменной типа int с именем main и пустой функцией
- Объявление массива символов (строки) типа char с именем str и инициализация его значением
hello
- Копирование значения из строки, на которую указывает символ '1' в строку str с помощью функции strcpy
- Вывод значения переменной str с помощью функции printf
- Возвращение 0 из функции main, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д