Выяснить: является ли сумма цифр двузначным числом (правильно ли решена задача?) - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: stdlib.h и printf.h
  2. Объявление переменной value типа int для хранения двузначного числа
  3. Вывод сообщения с просьбой ввести двузначное число
  4. Считывание двузначного числа с помощью функции scanf в переменную value
  5. Преобразование введенного числа в абсолютное значение с помощью функции abs и сохранение результата в переменную currValue
  6. Проверка, является ли число двузначным: если число меньше 10 или больше 99, то выводится сообщение о том, что число не является двузначным и программа завершается с кодом ошибки EXIT_FAILURE
  7. Объявление переменной n типа int для хранения числа N
  8. Вывод сообщения с просьбой ввести число N
  9. Считывание числа N с помощью функции scanf в переменную n
  10. Вычисление суммы цифр двузначного числа: currValue % 10 возвращает последнюю цифру числа, а (currValue / 10) возвращает число без последней цифры. Полученные значения складываются и сохраняются в переменную sum
  11. Проверка, является ли сумма цифр двузначным числом: если сумма цифр больше 9, то выводится сообщение о том, что сумма цифр является двузначным числом, иначе выводится сообщение о том, что сумма цифр не является двузначным числом
  12. Проверка, является ли сумма цифр больше числа N: если сумма цифр больше N, то выводится сообщение о том, что сумма цифр больше числа N, иначе выводится сообщение о том, что сумма цифр не больше числа N
  13. Возвращение значения EXIT_SUCCESS, указывающего на успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы