Вывести словесное описание числа - C (СИ) (70432)

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

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

Здравствуйте! Нужна помощь. Разработать программу согласно варианту задания. Типы данных определяются из специфики задачи, если их тип не указан явно. При реализации программы использовать оператор выбора switch. Дано вещественное число в формате ХХ.ХХ‚ вывести словесное описание этого числа. Пример: 54.23 -— пятьдесят четыре целые, двадцать три сотые.

Решение задачи: «Вывести словесное описание числа»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
int main()
 
{
int a,b,c,i,j,x,y;
float v;
printf ( "vvedite chislo \n" ); scanf ( "%f", &v );
c=v*100; b=100; y=10;
    for ( i = 1; i <= 2; i ++ )
     {
a=c/b; c= c%b; b=b/100;
if (a>=10 && a<=19)
{
 switch ( a ) {
 case 10: printf("desyat "); break; case 11: printf("odinatsat "); break; case 12: printf("dvenatsat "); break; case 13: printf("trinadsat "); break; 
 case 14: printf("chetirnadsat "); break; case 15: printf("pyatynadsat "); break; case 16: printf("shesnadsat "); break; case 17: printf("semnadsat "); break; 
 case 18: printf("vosemnadsat "); break; case 19: printf("devyatnadsat "); break; default: printf("\n "); }
            if (i==1) { printf("celih "); } else { printf("sotih \n");}
 }
 
 else  {
     for (j=1; j<=2; j++)
              {
     x=a/y; a=a%y; y=y/10;
 
 if (j==1) { switch ( x ) {
 case 2: printf("dvadzat "); break; case 3: printf("tridzat "); break; case 4: printf("sorok "); break; case 5: printf("pyatdesyat "); break;
 case 6: printf("shestdesyat "); break; case 7: printf("semdesyat "); break; case 8: printf("vosemdesyat "); break; case 9: printf("devyanosto "); break; default: printf("\n "); } }
 
  else { switch ( x ) {
 case 0: printf(" "); case 1: printf("odin "); break; case 2: printf("dva "); break; case 3: printf("tri "); break; case 4: printf("chetire "); break;
 case 5: printf("pyaty "); break; case 6: printf("shesty "); break; case 7: printf("sem "); break; case 8: printf("vosem "); break;
 case 9: printf("devyat "); break;
 default: printf("\n ");} }
                    }
                if (i==1) { if (x>=2 && x<=4) printf("celie ");
                else printf("celih "); }
                else {  if (x>=2 && x<=4) printf("sotie \n");
                else printf("sotih \n"); }
                                                                            
       }
        
    }
}

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

Список элементов кода:

  1. Объявление переменных: int a,b,c,i,j,x,y; float v;
  2. Ввод числа с плавающей точкой с помощью функции scanf: printf ( vvedite chislo \n ); scanf ( %f, &v );
  3. Вычисление чисел c, b и y: c=v*100; b=100; y=10;
  4. Использование цикла for для выполнения вычислений: for ( i = 1; i <= 2; i ++ )
  5. Вычисление числа a путем деления c на b, затем остатка от деления c на b: a=c/b; c= c%b; b=b/100;
  6. Проверка диапазона числа a: if (a>=10 && a<=19)
  7. Использование оператора switch для вывода словесного описания числа a: switch ( a ) {
  8. Вывод словесного описания числа a: case 10: printf(desyat); break; case 11: printf(odinatsat); break; case 12: printf(dvenatsat); break; case 13: printf(trinadsat); break;
  9. Вывод словесного описания числа a: case 14: printf(chetirnadsat); break; case 15: printf(pyatynadsat); break; case 16: printf(shesnadsat); break; case 17: printf(semnadsat); break;
  10. Вывод словесного описания числа a: case 18: printf(vosemnadsat); break; case 19: printf(devyatnadsat); break; default: printf(\n); }
  11. Вывод слова celih или sotih в зависимости от значения i: if (i==1) { printf(celih); } else { printf(sotih \n);}
  12. Вывод словесного описания числа x: if (j==1) { switch ( x ) {
  13. Вывод словесного описания числа x: case 2: printf(dvadzat); break; case 3: printf(tridzat); break; case 4: printf(sorok); break; case 5: printf(pyatdesyat); break;
  14. Вывод словесного описания числа x: case 6: printf(shestdesyat); break; case 7: printf(semdesyat); break; case 8: printf(vosemdesyat); break; case 9: printf(devyanosto); break; default: printf(\n); } }
  15. Вывод словесного описания числа x: switch ( x ) {
  16. Вывод словесного описания числа x: case 0: printf(`); case 1: printf(odin ); break; case 2: printf(dva ); break; case 3: printf(tri ); break; case 4: printf(chetire `); break;
  17. Вывод словесного описания числа x: case 5: printf(pyaty); break; case 6: printf(shesty); break; case 7: printf(sem); break; case 8: printf(vosem); break;
  18. Вывод словесного описания числа x: case 9: printf(devyat); break;
  19. Вывод словесного описания числа x: default: printf(\n);} }
  20. Вывод слова celie или sotie в зависимости от значения i: if (x>=2 && x<=4) printf(celie);
  21. Вывод слова sotie или sotih в зависимости от значения i: else printf(sotih \n);
  22. Вывод слова sotih или sotie в зависимости от значения i: else {  if (x>=2 && x<=4) printf(sotie \n);
  23. Вывод слова sotih или sotie в зависимости от значения i: else printf(sotih \n); }

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


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

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

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