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