Testo dell'esercizio
In un array di 100 elementi e' memorizzata una frase. Ogni lettera della frase e' contenuta in un elemento dell'array.
Ad esempio:
IL MIO GATTO
Scrivere un programmma che permetta di:
1-memorizzare la frase nell'array
2-stampare la frase al contrario come nel seguente esempio:
OTTAG OIM LI
3-stampare il numero di parole memorizzate nell'array (le parole sono separate dal carattere spazio);
4-stampare quante volte compare ciascuna vocale e quale vocale compare con frequenza maggiore.
mostra soluzione
/*
CLAUDIO CARDINALE III AI
In un array di 100 elementi e' memorizzata una frase. Ogni lettera della frase e' contenuta in un elemento dell'array.
Ad esempio:
IL MIO GATTO
Scrivere un programmma che permetta di:
1-memorizzare la frase nell'array
2-stampare la frase al contrario come nel seguente esempio:
OTTAG OIM LI
3-stampare il numero di parole memorizzate nell'array (le parole sono separate dal carattere spazio);
4-stampare quante volte compare ciascuna vocale e quale vocale compare con frequenza maggiore.
*/
#include<stdio.h>
#define MAX 100
int main(){
//dichiarazioni
int n,i=0,parole=1,voc[5]={0,0,0,0,0},pos=0;
char frase[MAX],mag;
//acquisizione dati
printf("inserire la frase (invio per interrompere) : ");
do{
scanf("%c",&frase[i]);
}while(frase[i++] != 10);
n = i;
//calcoli e visualizzazione risultati
//2
for(i=n-1;i>=0;i--)
printf("%c",frase[i]);
printf("\n");
//3
for(i=0;i<n;i++)
if(frase[i] == ' ')
parole++;
printf("parole = %d\n",parole);
//4
for(i=0;i<n;i++)
switch(frase[i]){
case 'a':
voc[0]++;
break;
case 'e':
voc[1]++;
break;
case 'i':
voc[2]++;
break;
case 'o':
voc[3]++;
break;
case 'u':
voc[4]++;
}
for(i=0;i<5;i++)
if(voc[i]>voc[pos])
pos = i;
switch(pos){
case 0:
mag = 'a';
break;
case 1:
mag = 'e';
break;
case 2:
mag = 'i';
break;
case 3:
mag = 'o';
break;
case 4:
mag = 'u';
}
printf("vocali :\na = %d\ne = %d\ni = %d\no = %d\nu = %d\nvocale ripetuta più volte = %c\n",voc[0],voc[1],voc[2],voc[3],voc[4],mag);
}
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