logo Thecsea.it



Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License



scolastica » esercizi » terza superiore » linguaggio c

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



Copyright © 2004-2024 thecsea.it (Claudio Cardinale - [email protected])! Tutti i diritti riservati. - contattaci