Bài này còn một chỗ chưa hoàn chỉnh là không xóa đc tab thừa mà chỉ xóa đc khoảng trắng thừa, ai có ý tưởng hay hơn up lên cho mọi người tham khảo với
- Code:
#include "stdio.h"
#include "string.h"
int so_tu(char *s)
{
int i,d=0;
for(i=0;i
{
if(s[i]==' ' && i!=0 && s[i-1]!=' ')//Them khuc nay neu muon co tab &&s[i-1]!='\t')
d ;
if(s[i 1]=='\0' && s[i]!=' ')//Muon thi them && s[i]!='\t')
d ;
}
return d;
}
char *xoaktrangthua(char *s)//Ham nay khong xoa dc ky tu tab trong than chuoi, hic hic
{
char *p;
while((p=strstr(p," "))!=NULL)
strcpy(p,p 1);
if(*s==' ')
strcpy(s,s 1);
p=s strlen(s)-1;
if(*p==' ')
*p='\0';
return s;
}
main()
{
char chuoi[125];
char *p=chuoi;
printf("Nhap vao mot chuoi: ");fflush(stdin);
gets(chuoi);
printf("Loai khoang trang du: [%s]\n",xoaktrangthua(chuoi));
printf("Co %d tu trong cau vua rui\n",so_tu(chuoi));
}
Được sửa bởi Admin ngày 21/9/2009, 23:44; sửa lần 1.