Testo dell'esercizio
Data la seguente assegnazione alla stringa esercizio:
esercizio = "123457890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ"
spostare i caratteri numerici dopo le lettere minuscole e prima delle lettere maiuscole, in modo che la stringa assuma il valore:
esercizio = "abcdefghilmnopqrstuvz123457890ABCDEFGHILMNOPQRSTUVZ"
Effettuare le operazioni necessarie senza utilizzare costanti che identifichino l aposizione dei caratteri, ma reperire dinamicamente tali posizioni, in modo che il programma abbia valenza più generale.
mostra soluzione
/*
CLAUDIO CARDINALE III AI
Data la seguente assegnazione alla stringa esercizio:
esercizio = "123457890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ"
spostare i caratteri numerici dopo le lettere minuscole e prima delle lettere maiuscole, in modo che la stringa assuma il valore:
esercizio = "abcdefghilmnopqrstuvz123457890ABCDEFGHILMNOPQRSTUVZ"
Effettuare le operazioni necessarie senza utilizzare costanti che identifichino l aposizione dei caratteri, ma reperire dinamicamente tali posizioni, in modo che il programma abbia valenza più generale.
*/
#include<stdio.h>
int main(){
//dichiarazioni
int i,j,num=0,let;
char frase[]="123457890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ",aux,aux2;
//calcoli
//posizioni
//numeri
while(frase[num] >= '0' && frase[num] <= '9')
num++;
//lettere minuscole
let = num;
while(frase[let] >= 'a' && frase[let] <= 'z')
let++;
//sostituzione
for(i=0;i<let-num;i++){
aux = frase[0];
frase[0] = frase[let-1];;
for(j=1;j<let;j++){
aux2 = frase[j];
frase[j] = aux;
aux = aux2;
}
}
//visualizzazione risultati
printf("%s\n",frase);
}
Testi Consigliati:
Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C
torna