Új hozzászólás Aktív témák
-
mm00
aktív tag
válasz
Bettina87
#376
üzenetére
Na összehoztam neked, szerintem ez meg fog felelni

#include<stdio.h>
#include <ctype.h>
#define HSZ sizeof(int)/sizeof(short)*5
int getch(void);
void ungetch(int);
int getint(int *);
int main(int argc, char *argv[]) {
int i = 0;
int dec;
char rom[50];
getint(&dec);
printf("%d\n\n", dec);
while(dec>=1000){
dec -= 1000;
rom[i] = 'M';
i++;
}
if (dec>=900){
dec-=900;
rom[i] = 'C';
i++;
rom[i] = 'M';
i++;
}
if(dec>=500){
dec -= 500;
rom[i] = 'D';
i++;
}
if (dec>=400){
dec -= 400;
rom[i] = 'C';
i++;
rom[i] = 'D';
i++;
}
while(dec>=100){
dec = dec-100;
rom[i] = 'C';
i++;
}
if(dec>=90){
dec -= 90;
rom[i] = 'X';
i++;
rom[i] = 'C';
i++;
}
if(dec>=50){
dec -= 50;
rom[i] = 'L';
i++;
}
if(dec>=40){
dec -= 40;
rom[i] = 'X';
i++;
rom[i] = 'L';
i++;
}
while(dec>=10){
dec -= 10;
rom[i] ='X';
i++;
}
if(dec == 9){
rom[i] = 'I';
i++;
rom[i] = 'X';
i++;
}
else{
if(dec >= 5){
dec -= 5;
rom[i] = 'V';
i++;
}
if(dec == 4){
rom[i] = 'I';
i++;
rom[i] = 'V';
i++;
}
else{
while(dec > 0){
dec -= 1;
rom[i] = 'I';
i++;
}
}
}
rom[i]='\0';
printf("%s", rom);
}
int getint(int *pn)
{
int c=0, sign, ok=0, numdb;
double d;
while(!ok && c!=EOF)
{
while(isspace(c=getch()));
sign = 1;
if(c=='+'||c=='-')
{
sign=(c=='+')?1:-1;
c=getch();
}
for(d=0., numdb=HSZ; numdb-->0&&isdigit(c);c=getch())
{
d=10.*d+c-'0';
ok = 1;
}
d*=sign;
while(!isspace(c)&&c!=EOF)
{
c=getch();
ok = 0;
}
else
*pn=d;
}
if(c!=EOF)ungetch(c);
return(c);
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Lexus, Toyota topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Apple asztali gépek
- Android alkalmazások - szoftver kibeszélő topik
- Kerékpárosok, bringások ide!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- PlayStation 5
- TCL LCD és LED TV-k
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Luck Dragon: MárkaLánc
- További aktív témák...
- Oneplus 9 128GB,Átlagos,Adatkabel,12 hónap garanciával
- Samsung Galaxy Z Fold 7 512GB,Átlagos,Dobozaval,24 hónap garanciával
- Samsung Galaxy Watch Ultra titán ezüst, számlával, garanciával
- Független iPhone 13 128 GB midnight nagyon szép
- ACEMAGIC F3A Mini PC 64GB RAM 1TB SSD AMD Ryzen AI 9 HX 370 + 2x LG 24" monitor, garanciával
- Lenovo Legion Slim 5 Ryzen 7 7840HS 16GB 1000GB RTX 4060 OLED 120Hz 1év garancia
- HP ZBook Firefly G9 - 14" hibás kijelző, i7 1255U, 16GB RAM, Nvidia T550 4GB VGA, hiányos bill.
- HIBÁTLAN iPhone 13 Pro 128GB Gold -1 ÉV GARANCIA -Kártyafüggetlen- MS4674, 100% AKKSI
- Xbox Elite Series 2 Core kontroller 3 hó garancia, számlával!
- Apple iPhone 17 256GB Fekete
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

