C dilinde boşluk sayısına bakılmadan bir cümledeki kelime sayısını bulma

ghostrecon

Hectopat
Katılım
18 Şubat 2017
Mesajlar
10
Daha fazla  
Cinsiyet
Erkek
Soru bu.

Kendisine gönderilen cümlenin sözcük sayısını geri döndüren sozcuksay adındaki fonksiyonu, cümlenin klavyeden girildiği sözcük sayısını ekrana yazdırıldığı bir main fonksiyon ile beraber yazınız. Sözcüklerin arasında birden fazla boşluk olabileceğini, cümlenin başında sonunda boşluklar olabileceğini göz önünde bulundurmayı unutmayınız.
 
Bunu bizim yapmamızı mı istiyorsunuz?
 
[CODE title="Sozcuk sayisi"]#include <stdio.h>
#include <string.h>

void main()
{
char s[200];
int count = 0, i;

printf("Enter the string:\n");
scanf("%[^\n]s", s);
for (i = 0;s != '\0';i++)
{
if (s == ' ' && s[i+1] != ' ')
count++;
}
printf("Number of words in given string are: %d\n", count + 1);
}[/CODE]

Kendine göre isimleri değiştirip kullanabilirsin.
 
Kod:
#include <stdio.h>
#include <string.h>
#define N 1000

int sozcukSay(char* str){
    int num = 0;
    char* s = strtok(str, " ");
    
    while (s != NULL){
        ++num;
        s = strtok(NULL, " ");
    }
    
    return num;
}

int main(){
    char str[N];
    
    printf("Cumle gir: ");
    scanf("%[^\n]%*c", str);
    
    printf("Kelime sayisi: %d\n", sozcukSay(str));

    return 0;
}
Kendine göre isimleri değiştirip kullanabilirsin.
jn jk lh f yazdığımda 6 diyor.
 
scanf("%[^\n]%*c", str);
bu kullanımı anlayamadım nasıl olduğunu açıklar mısın
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…