Ú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!
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Micro Four Thirds
- Azonnali processzoros kérdések órája
- Azonnali alaplapos kérdések órája
- Mibe tegyem a megtakarításaimat?
- Xbox Series X|S
- Aliexpress tapasztalatok
- Szeged és környéke adok-veszek-beszélgetek
- Crypto Trade
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- MacMini M1
- Dell Latitude E5440 - i5 4310U / 8GB RAM - számla, 6 hó garancia
- Beszámítás! ASRock H310CM i7 8700 16GB DDR4 500GB SSD RTX 2070 Super 8GB CM Q500L CM 500W
- Beszámítás! ASUS Prime B450M R5 5600 16GB DDR4 256GB SSD 1TB HDD RTX 2080 Super Rampage SHIVA TT 600
- WD BLACK SN850P 2 TB M.2 NVME PCI-E 4.0 x4 - Új, Tesztelt - 7300-6600 MBs - Eladó!