23 thg 10, 2010

Đếm số từ trong một câu

Đếm số từ trong một câu

Đăng ngày: 09:00 27-02-2010
Thư mục: C++
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int CountWords(char *s) //Hàm này dùng để đếm số từ trong xâu s
{
  int i, count = 0; //Biến count để đếm số từ
  for(i = 0; s[i] != NULL; i++) //Vòng lặp chạy từ đầu đến cuối xâu
 {
    if(s[i] != ' ') continue//Nếu gặp ký tự khác dấu cách thì quay lại tiếp tục bước lặp tiếp theo    while(s[i] == ' ') i++; //Trong trường hợp gặp nhiều dấu cách liên tiếp thì i++
    count++; //Cứ sau mỗi khoảng dấu cách đó thì count tăng lên 1
    i--; //i giảm 1 để i của vòng for tiếp tục tăng (nếu không i sẽ tăng 2)
 }
  if(s[i-1] != ' ') count++; //Kết thúc vòng for thì i-1 là vị trí cuối cùng  if(s[0] == ' ') count--; //Nếu ký tự đầu là dấu cách thì count - 1;  return count; //Trả về giá trị của biến count cho giá trị của hàm}

main()
{
  char s[200];
  cout<<"Hay nhap vao mot cau: ";  gets(s);
  cout<<CountWords(s);

  getch();
}
Nguồn trích dẫn (0)
**M@rj0**

**M@rj0**

08:28 07-07-2010
Mạng lác quá, bài của em khá ngắn anh xem thử đc ko?

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>

char DemTuTrongXau(char s[100])
{
    int i,d,l;
    l= strlen(s);
    d=0;
    for(i=0; i<l; i++)
    if( s[i]==' ' && s[i+1]!=' ') d++;
    if( s[0]==' ') d--;
    if( s[l-1]==' ') d--;
    cout<<"So tu trong cau la:"<<d+1;
}
main()
{
    char s[100];
    cout<<"Nhap xau s:"; gets(s);
    DemTuTrongXau(s);
    getch(s);
}

mà có vẻ thuật toán 2 anh em mình giống nhau :d

1 nhận xét: