Другие языки программирования и технологии

Исправте ошибки в задаче на языке Си

Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — восемьсот четырнадцать Я набросала примерно исправте ошибки #include<stdio.h> main () { int n,sot,des,ed; printf ("Vvedite chislo ot 100 do 999 "); scanf ("%d",&n); // sot=n/100; des=n/10; ed=n; /* switch (sot) { case 1: printf ("Sto");break; case 2: printf ("Dvesti");break; case 3: printf ("Trista");break; case 4: printf ("Chetirista");break; case 5: printf ("Pjatsot");break; case 6: printf ("Shesot");break; case 7: printf ("Semsot");break; case 8: printf ("Vosemsot");break; case 9: printf ("Devjatsot");break; } if (sot>9) */ switch (des) { case 1: printf ("desjat");break; case 2: printf ("Dvadchat");break; case 3: printf ("Tridcat");break; case 4: printf ("Sorok");break; case 5: printf ("Pjatdesiat");break; case 6: printf ("Sisdesjat");break; case 7: printf ("Semdesjat");break; case 8: printf ("Vosemdesjat");break; case 9: printf ("devjznosto");break; } switch (ed) { case 1:if (des==1) printf ("Odin");break; case 2:if (des==2) printf ("Dva");break; case 3:if (des==3) printf ("Tri");break; case 4:if (des==4) printf ("Chetire");break; case 5:if (des==5) printf ("pjat");break; case 6:if (des==6) printf ("Sest");break; case 7:if (des==7) printf ("Sem");break; case 8:if (des==8) printf ("Vosem");break; case 9:if (des==9) printf ("Devjat");break; } printf("n=%d \n",n); getchar (); getchar (); }
Руслан )))
Руслан )))
128
// Виктория_Зубрицкая_2011-12-01
#include <iostream>
using namespace std;

void main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

const char * hundred[] =
{
"",
" Сто",
" Двести",
" Триста",
" Четыреста",
" Пятьсот",
" Шестьсот",
" Семьсот",
" Восемьсот",
" Девятьсот"
};

const char * ten[] =
{
"",
" десять",
" двадцать",
" тридцать",
" сорок",
" пятьдесят",
" шестьдесят",
" семьдесят",
" восемьдесят",
" девяносто",
};

const char * unit[] =
{
"",
" один",
" два",
" три",
" четыре",
" пять",
" шесть",
" семь",
" восемь",
" девять",
};

const char * secondTen[] =
{
" одиннадцать",
" двенадцать",
" тринадцать",
" четырнадцать",
" пятнадцать",
" шестнадцать",
" семнадцать",
" восемнадцать",
" девятнадцать"
};

int k;

cout << " Введите трёхначное число: "; cin >> k;

if (k % 100 > 10 && k % 100 < 20)
cout << hundred[(k / 100) % 10] << secondTen[k % 10];
else
cout << hundred[(k / 100) % 10] << ten[(k / 10) % 10] << unit[k % 10];

fflush(stdin);
cin.get();
}

swicth - это меню! ! (но есть enum)
Hakob Mnacakanyan
Hakob Mnacakanyan
50 736
Лучший ответ
А "одиннадцать", "двенадцать"... Десять один?
#include

main ()
{
int n,sot,des,ed;
printf ("Vvedite chislo ot 100 do 999 \n");
scanf ("%d",&n);
sot=n/100;
des=n/10-sot*10;
ed=n-des*10-sot*100;
switch (sot)
{
case 1: printf ("Sto");break;
case 2: printf ("Dvesti");break;
case 3: printf ("Trista");break;
case 4: printf ("Chetirista");break;
case 5: printf ("Pjatsot");break;
case 6: printf ("Shesot");break;
case 7: printf ("Semsot");break;
case 8: printf ("Vosemsot");break;
case 9: printf ("Devjatsot");break;
}
if (sot>9) printf ("Error");
switch (des)
{
case 1: printf ("desjat");break;
case 2: printf ("Dvadchat");break;
case 3: printf ("Tridcat");break;
case 4: printf ("Sorok");break;
case 5: printf ("Pjatdesiat");break;
case 6: printf ("Sisdesjat");break;
case 7: printf ("Semdesjat");break;
case 8: printf ("Vosemdesjat");break;
case 9: printf ("devjznosto");break;
}
if (des>9) printf ("Error");
switch (ed)
{
case 1: printf ("odin");break;
case 2: printf ("Dva");break;
case 3: printf ("Tri");break;
case 4: printf ("Chetyre");break;
case 5: printf ("Pyat");break;
case 6: printf ("Shest");break;
case 7: printf ("Sem");break;
case 8: printf ("Vosemd");break;
case 9: printf ("devyat");break;
}
getchar ();
}