0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 8
1

Составьте программу для решения поставленной задачи, используя оператор switch - case. (на языке Си)

21.11.2018, 09:58. Показов 1131. Ответов 5
Метки нет (Все метки)

Составить программу, которая читает натуральное число N в десятичном представлении (N
< 10000), а на выходе выдает это же число в десятичном представлении и на естественном
языке. Например, 7 => семь; 204 => двести четыре; 52 => пятьдесят два.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2018, 09:58
Ответы с готовыми решениями:

Составьте программу для решения поставленной задачи, используя оператор цикла for, while, do{}while

Составьте программу для решения поставленной задачи, используя оператор цикла и операторы ветвления
помогите пожалуйста((((

Составить программу для решения задачи, используя оператор выбора Select-Case
Составить программу для решения задачи, используя оператор выбора Select-Case. Составить...

Составить программу для решения поставленной задачи, использую оператор цикла
Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в...

5
Диссидент
Эксперт C
27197 / 16952 / 3747
Регистрация: 24.12.2010
Сообщений: 38,134
21.11.2018, 10:42 2
Anya1997, а можно без switch-case?
0
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 8
21.11.2018, 10:47  [ТС] 3
Да в этом и дело что надо с ними

Добавлено через 2 минуты
Байт, вот именно что без них нельзя
0
Диссидент
Эксперт C
27197 / 16952 / 3747
Регистрация: 24.12.2010
Сообщений: 38,134
21.11.2018, 10:47 4
Цитата Сообщение от Anya1997 Посмотреть сообщение
надо с ними
Тогда не возьмусь. Громоздко, противно и однообразно И негде мысли порезвиться
0
545 / 222 / 72
Регистрация: 01.03.2011
Сообщений: 612
21.11.2018, 11:40 5
Байт, if() можно на switch(условие ? 1 : 0) поменять, но вы правы все равно скучно.
0
Диссидент
Эксперт C
27197 / 16952 / 3747
Регистрация: 24.12.2010
Сообщений: 38,134
21.11.2018, 13:01 6
Вот, порылся по сусекам...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <stdio.h>
#include <stdlib.h>
 static char *sot[]={"сто","двести","триста","четыреста",
             "пят","шест", "сем","восем","девят" };
 static char *desiat[]={" двадцать"," тридцать"," сорок"," пят"," шест",
                " сем"," восем"," девяносто" };
 static char *edm[]={""," один"," два"," три"," четыре"," пять"," шесть",
             " семь"," восемь",
             " девять"," десять"," один"," две"," три",
             " четыр"," пят"," шест"," сем"," восем"," девят" };
 static char *edw[]={" одна"," две" };
 static char *nmtr[]={" тысяч"," миллион"," миллиард", " триллион",
               " квадриллион", " квинтиллион", " сектиллион", " септаллион", NULL };
         // дальше не знаю, м.б. товарищи подскажут ...
 static char *nokm[]={"а","ов" };
 static char *nokt[]={"а","и","" };
/* ------------------ */
void Propis2(unsigned int L, int n, char *s) // Число прописью
{ int R, ns, nd, r; char *p; unsigned int M;
 
   M = L / 1000;
   R = L % 1000;
   if (M != 0) Propis2(M, n+1, s);  // Рекурсия!
   if (R==0) return;
   ns = R / 100;
   if (ns)    sprintf(s+strlen(s), " %s", sot[ns-1]);
   if (ns>=5) strcat(s, "ьсот");
   R = R % 100;  // < 100
   nd = R / 10;  // Десятки
   if (nd >= 2) {
      strcat(s, desiat[nd-2]);
      if (nd>=5 && nd<=8) strcat(s, "ьдесят");
      R = R % 10;
   }
   r = sklon(R);
   if (n==1 && R>0 && R<3) p = edw[R-1];
   else                    p = edm[R];
   strcat(s, p);
   if (R > 10) strcat(s, "надцать");
   if (n > 0) {
     strcat(s, nmtr[n-1]);
     if     (n==1) strcat(s, nokt[r]);
     else if (r>0) strcat(s, nokm[r-1]);
   }
}
/*********************/
int sklon(int dd)    /* Определение склонения числа */
{ int n, r;
 
    r = 2;
    n = dd % 100;
    if (n>4 && n<20) return(r);
    n = n % 10;
    if      (n==1)       r = 0;
    else if (n>1 && n<5) r = 1;
    return(r);
}
/* ------------------ */
main()
{ char b[200], s[1000]; unsigned int L;
 
a: printf(">");
   gets(b);
   if (strlen(b)==0) return;
   s[0] = '\0';
   L = atoi(b);
   Propis2(L, 0, s);
   printf("%s\n", s);
   goto a;
}
/**********************/
Старинное, еще Си, ДОС и goto. Но - чем богаты...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2018, 13:01
Помогаю со студенческими работами здесь

Написать программу решения поставленной задачи, используя прямой и обратный пересчет
Написать программу решения поставленной задачи, используя прямой и обратный пересчет. Вычислить:...

Составьте программу, используя оператор case
Вводится натуральное число в диапазоне от 20 до 80 и целое в диапазоне от 1 до 20. Найти сумму...

Написать программу для решения поставленной задачи
Сформировать односвязный список и вывести на экран полученную информацию. Дан список натуральных...

Используя оператор Case, составьте программу вычисления значения функции
Используя оператор Case, составьте программу вычисления значения функции: а+bx+cx^2, если 1 &lt;= x &lt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru