Выяснить: является ли сумма цифр двузначным числом (правильно ли решена задача?) - C (СИ)
Формулировка задачи:
Дано двузначное число. Выяснить: является ли сумма цифр двузначным числом. Больше ли числа
N их сумма.
Листинг программы
- #include <stdio.h>
- int main ()
- { float s, z, b;
- int d;
- scanf ("%d", &d);
- z=d%10;
- b=d/10;
- s=z+b;
- printf("%f",s);
- return 0;
- }
Решение задачи: «Выяснить: является ли сумма цифр двузначным числом (правильно ли решена задача?)»
textual
Листинг программы
- #include <stdlib.h>
- #include <stdio.h>
- int main() {
- int value;
- printf( "Введите двузначное число " );
- scanf( "%d", &value ); // отсутствует проверка ввода
- int currValue = abs( value );
- if( currValue > 99 || currValue < 10 ){
- puts( "Данное число не является двузначным!" );
- return EXIT_FAILURE;
- }
- int n;
- printf( "Введите число N ");
- scanf( "%d", &n ); // отсутствует проверка ввода
- // находим сумму цифр двузначного числа
- int sum = currValue % 10 + ( currValue / 10 );
- if( sum > 9 )
- printf( "Сумма цифа числа %d равна %d является двузначным числом ", value, sum );
- else
- printf( "Сумма цифа числа %d равна %d НЕ является двузначным числом ", value, sum );
- if( sum > n )
- printf( "и больше числа %d\n", n );
- else
- printf( "и НЕ больше числа %d\n", n );
- return EXIT_SUCCESS;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdlib.h и printf.h
- Объявление переменной
value
типа int для хранения двузначного числа - Вывод сообщения с просьбой ввести двузначное число
- Считывание двузначного числа с помощью функции
scanf
в переменнуюvalue
- Преобразование введенного числа в абсолютное значение с помощью функции
abs
и сохранение результата в переменнуюcurrValue
- Проверка, является ли число двузначным: если число меньше 10 или больше 99, то выводится сообщение о том, что число не является двузначным и программа завершается с кодом ошибки EXIT_FAILURE
- Объявление переменной
n
типа int для хранения числа N - Вывод сообщения с просьбой ввести число N
- Считывание числа N с помощью функции
scanf
в переменнуюn
- Вычисление суммы цифр двузначного числа:
currValue % 10
возвращает последнюю цифру числа, а(currValue / 10)
возвращает число без последней цифры. Полученные значения складываются и сохраняются в переменнуюsum
- Проверка, является ли сумма цифр двузначным числом: если сумма цифр больше 9, то выводится сообщение о том, что сумма цифр является двузначным числом, иначе выводится сообщение о том, что сумма цифр не является двузначным числом
- Проверка, является ли сумма цифр больше числа N: если сумма цифр больше N, то выводится сообщение о том, что сумма цифр больше числа N, иначе выводится сообщение о том, что сумма цифр не больше числа N
- Возвращение значения EXIT_SUCCESS, указывающего на успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д