/*
Programma che, data in input una stringa, conteggia il numero di parole presenti in essa.
*/
#include <stdio.h>
#include <string.h> //per la funzione strlen()
void main(){
char stringa[50];
int parole=0;
printf("Inserisci una stringa (max 50 caratteri): ");
gets(stringa); //legge la stringa da tastiera
for (int i=0; i<strlen(stringa); i++){
if (stringa!=' '){ //ogni volta che trova una lettera che non sia uno spazio...
if(stringa[i+1]==' ' || i==strlen(stringa)-1){ //...se il carattere successivo è uno spazio
parole++; //incrementa il contatore
}
}
}
printf("La stringa è composta da %d parole", parole);
}
ho questo programma e vorrei capire quel %d come fa a stamparmi nell'esecuzione l'effettivo numero di parole e soprattutto perkè in altri programmi trovo %c ... quale è la differenza?? GRAZIE
(Ad esempio in questo programma devo riscrivere una stringa andando accapo ogni parola e alla fine mi fa usare il %c)
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX 100
using namespace std;
int main () {
char v[MAX];
printf("inserisci stringa");
gets(v);
for(int i=0;i<strlen(v);i++){
if(v==' ') printf("\n");
else printf("%c",v);
}
system ("PAUSE");
return 0;
}