Đếm số từ trong một câu
#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();
}
#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();
}
8 Bình luận
**M@rj0**
08:28 07-07-2010#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
trang hay lắm
Trả lờiXóa