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.
 
[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.
 
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;
}

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
 

Geri
Yukarı