К введенному числу (от 0 до 99) приписать слово «копеек» в правильном падеже - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет! Подскажите плиз алгоритм поиска необходимой цифры в разряде единиц (т.е если число оканчивается на 1, то пишем "копейка"; на 2, 3, 4 - "копейки"; 0,5,6,7,8,9 - "копеек") - как это реализуется, как вообще работать с разрядами в СИ? Моих познаний хватает пока только на такое (это вычислительная часть кода):
printf ("Enter the integer 1 to 99\n");
    scanf ("%d" , &a);
    if (a==1|| a==21 || a==31 || a==41 || a==51 || a==61 || a==71 || a==81 || a==91)
    printf ("%d Kopeyka\n", a);
    else
        if  (a==2|| a==3 || a==4 ||
             a==22|| a==23 || a==24 ||
             a==32|| a==33 || a==34 ||
             a==42|| a==43 || a==44 ||
             a==52|| a==53 || a==54 ||
             a==62|| a==63 || a==64 ||
             a==72|| a==73 || a==74 ||
             a==82|| a==83 || a==84 ||
             a==92|| a==93 || a==94 )
 
             printf ("%d Kopeyki\n", a);
Изучаю Си 2 недели, поэтому буду рад любым советам!

Решение задачи: «К введенному числу (от 0 до 99) приписать слово «копеек» в правильном падеже»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
int main ()
{
    int a, b;
    char *kop;
    printf ("Enter the integer 1 to 99\n");
    scanf ("%d" , &a);
    b = a % 10;
    if (b==1)
         kop="Kopeyka";
      else
        if (b==2 || b==3 || b==4)
            kop="Kopeyki";
        else
            if (b==0 || b==5 || b==6 || b==7 || b==8 || b==9)
                kop="Kopeek";
 
    if(a==11 || a==12 || a==13 || a==14) // Исключения первого десятка. РАБОТАЮТ!!!
        kop="Kopeek";
              
 
    printf (" %d %s", a,kop);
 
    getch();
    return 0;
}

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


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

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

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