Hirdetés

Új hozzászólás Aktív témák

  • don_peter

    senior tag

    válasz Jester01 #4448 üzenetére

    Ehhez is ismerni kell a bevitt érték nagyságát nem?
    "(((a*10)+b)*10+c)*10+d" mert ez összesen csak 4 változó értékét tudja felszorozni és összeadni.
    Én most így oldottam meg:

    int number, right_digit[5], i = 0, mennyi = 0, ossz = 0;
    printf("Adj meg egy számsort (1-100e közt): ");
    scanf("%i", &number);
    printf("Visszafelé: ");
    while(number != 0) {
    right_digit[i] = number % 10;
    printf("%i, ",right_digit[i]);
    number = number / 10;
    mennyi = i;
    i++;
    }
    printf("\n");

    for(i = mennyi; i >= 0; i--){
    if(i == 4)
    ossz += right_digit[i] * 10000;
    else if(i == 3)
    ossz += right_digit[i] * 1000;
    else if(i == 2)
    ossz += right_digit[i] * 100;
    else if(i == 1)
    ossz += right_digit[i] * 10;
    else if(i == 0)
    ossz += right_digit[i];
    else
    printf("Maximum 99999-et lehet megadni!\n");
    }
    printf("Hány karakter: %i",mennyi+1);
    printf("\nÖssz érték: %i\n", ossz);

    Kimenete:

    Adj meg egy számsort (1-100e közt): 344
    Visszafelé: 4, 4, 3,
    Hány karakter: 3
    Össz érték: 344

    [ Szerkesztve ]

    ----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

Új hozzászólás Aktív témák