Определить является ли введенный шестизначный номер «счастливым» - C (СИ)
Формулировка задачи:
Помогите кому не сложно) Язык Си.
Составить программу, определяющую является ли введенный шестизначный номер «счастливым» (совпадает ли у него сумма трех начальных и трех конечных цифр). Для выделения отдельных цифр во введенном номере можно использовать операции mod и div.
Решение задачи: «Определить является ли введенный шестизначный номер «счастливым»»
textual
Листинг программы
#include <stdio.h>
int GetDigitSum(int digit)
{
int sum = 0;
while (digit > 0)
{
sum = sum + (digit % 10);
digit = digit / 10;
}
return sum;
}
int IsValidTicketNumber(const int number)
{
int isValid = 0;
if ((number >= 100000) && (number <= 999999))
{
isValid = 1;
}
return isValid;
}
int IsTicketLucky(const int ticketNumber)
{
int isLucky = 0;
if (GetDigitSum(ticketNumber % 1000) == GetDigitSum(ticketNumber / 1000))
{
isLucky = 1;
}
return isLucky;
}
int main(void)
{
int a = 0;
scanf("%d", &a);
if (IsValidTicketNumber(a) && IsTicketLucky(a))
{
printf("This is a lucky ticket :)\n");
}
else
{
printf("No luck :(\n");
}
return 0;
}
Объяснение кода листинга программы
- Ввод числа с помощью функции scanf.
- Проверка введенного числа на валидность с помощью функции IsValidTicketNumber.
- Проверка счастливое ли число с помощью функции IsTicketLucky.
- Вывод сообщения о том, является ли билет счастливым или нет.