[C] Esercizio: invertire l'ordine delle parole di una frase

di il
2 risposte

[C] Esercizio: invertire l'ordine delle parole di una frase

  • Salve, sono alle prime armi con il C.Il programma mi chiede di utilizzare i puntatori per invertire le parole presenti in una frase es.( CIAO MONDO!/output MONDO CIAO!),senza utilizzare funzioni. Sono riuscito a creare un codice eseguibile,vorrei sapere un modo per semplificarlo ulteriormente e avere la correzione di eventuali errori commessi.Grazie in anticipo
#include<stdio.h>
#define N 99
int main()
{
	char v[N] = { ' ' };
	char *p;
	char *b;
	char c;

	printf("Enter a sentence: ");

	for (p=v; p < v+N; p++)
	{
		*p = getchar();
		if (*p == '!' || *p == '?' || *p == '.')
		{
			c = *p;
			break;
		}
	}
	printf("Reversal of sentence: ");
	for (--p; p >= v; p--)
	{
		if (*(p-1) == ' ' || p == v)
		{
			for (b = p; *b != ' '&&*b != '!'&&*b != '?'&&*b != '.'; b++)
				putchar(*b);
			if (p > v)
				printf(" ");
		}
	}

	putchar(c);
	return 0;
}

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte