#include <stdio.h>
#include <stdlib.h>
int main(void) {
int IP[4], numeroZeri, primoZero =1;
char classe;
const char INVALID_CLASS = 'Z';
printf("Inserire l'indirizzo IP:\t"); scanf("%d.%d.%d.%d", &IP
[0], &IP
[1], &IP
[2],&IP
[3]);
if( IP[0] >= 0 && IP[0] <= 127 )
classe = 'A';
else
if( IP[0] >= 128 && IP[0] <= 191 )
classe = 'B';
else
if( IP[0] >= 122 && IP[0] <= 223 )
classe = 'C';
else
if( IP[0] >= 224 && IP[0] <= 239 )
classe = 'D';
else
if( IP[0] <= 255 )
classe = 'E';
else
classe = INVALID_CLASS;
if( classe == INVALID_CLASS )
printf("L'indirizzo IP inserito non è valido\n"); else {
printf("L'indirizzo inserito è di classe %c\n", classe
); printf("La rete a cui appartiene questo indirizzo e' la seguente:\t"); if( classe >= 'D' )
numeroZeri = 3;
else
numeroZeri = 'C' - classe + 1;
for( int i = 0; i < 4; i++ )
if( i == 4 - numeroZeri ) {
if( primoZero == 0 )
else {
primoZero = 0;
}
numeroZeri--;
}
else
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKHZvaWQpIHsKCQoJaW50IElQWzRdLCBudW1lcm9aZXJpLCBwcmltb1plcm8gPTE7CgljaGFyIGNsYXNzZTsKCWNvbnN0IGNoYXIgSU5WQUxJRF9DTEFTUyA9ICdaJzsKCQoJcHJpbnRmKCJJbnNlcmlyZSBsJ2luZGlyaXp6byBJUDpcdCIpOwoJc2NhbmYoIiVkLiVkLiVkLiVkIiwgJklQWzBdLCAmSVBbMV0sICZJUFsyXSwmSVBbM10pOwoJCglpZiggSVBbMF0gPj0gMCAmJiBJUFswXSA8PSAxMjcgKQoJCWNsYXNzZSA9ICdBJzsKCWVsc2UKCQlpZiggSVBbMF0gPj0gMTI4ICYmIElQWzBdIDw9IDE5MSApCgkJCWNsYXNzZSA9ICdCJzsKCQllbHNlCgkJCWlmKCBJUFswXSA+PSAxMjIgJiYgSVBbMF0gPD0gMjIzICkKCQkJCWNsYXNzZSA9ICdDJzsKCQkJZWxzZQoJCQkJaWYoIElQWzBdID49IDIyNCAmJiBJUFswXSA8PSAyMzkgKQoJCQkJCWNsYXNzZSA9ICdEJzsKCQkJCWVsc2UKCQkJCQlpZiggSVBbMF0gPD0gMjU1ICkKCQkJCQkJY2xhc3NlID0gJ0UnOwoJCQkJCWVsc2UgCgkJCQkJCWNsYXNzZSA9IElOVkFMSURfQ0xBU1M7CgkKCWlmKCBjbGFzc2UgPT0gSU5WQUxJRF9DTEFTUyApCgkJcHJpbnRmKCJMJ2luZGlyaXp6byBJUCBpbnNlcml0byBub24gw6ggdmFsaWRvXG4iKTsKCWVsc2UgewoJCXByaW50ZigiTCdpbmRpcml6em8gaW5zZXJpdG8gw6ggZGkgY2xhc3NlICVjXG4iLCBjbGFzc2UpOwoJCXByaW50ZigiTGEgcmV0ZSBhIGN1aSBhcHBhcnRpZW5lIHF1ZXN0byBpbmRpcml6em8gZScgbGEgc2VndWVudGU6XHQiKTsKCQlpZiggY2xhc3NlID49ICdEJyApCgkJCW51bWVyb1plcmkgPSAzOwoJCWVsc2UKCQkJbnVtZXJvWmVyaSA9ICdDJyAtIGNsYXNzZSArIDE7CgoJCQlmb3IoIGludCBpID0gMDsgaSA8IDQ7IGkrKyApCgkJCQlpZiggaSA9PSA0IC0gbnVtZXJvWmVyaSApIHsKCQkJCQlpZiggcHJpbW9aZXJvID09IDAgKQoJCQkJCQlwcmludGYoIi4wIik7CgkJCQkJZWxzZSB7CgkJCQkJCXByaW50ZigiMCIpOwoJCQkJCQlwcmltb1plcm8gPSAwOwoJCQkJCX0KCQkJCQludW1lcm9aZXJpLS07CgkJCQl9CgkJCQllbHNlIAoJCQkJCXByaW50ZigiJWQuIiwgSVBbaV0pOwoJfQoJCglyZXR1cm4gMDsKfQo=