要改成——
int n=1;
char a[200];
char *pt=a;
gets(a);
//pt=a;
while(*pt!='\0'){
//pt++;
//if(*pt==' '||*pt==','){
if(*pt==' ' && (*(pt+1)>='a' && *(pt+1)<='z' || *(pt+1)>='A' && *(pt+1)<='Z')){
n++;
}
pt++;
}
printf("有%d个单词",n);
注意:输入时单词间可以有多个空格,但在标点符号后也必须至少有一个空格,这是英文规则。否则统计将不正确。以上是2018年7月4日12:41的答案
我做了些修改和调整,复制过去就可以了
#include
void main()
{
int n=1;
char a[200],*pt=a;
gets(a);
while(*pt!='\0 ')
{
pt++;
if(*pt==' '||*pt==',')n++;
}
printf("有%d个单词",n);
}
#include
void main()
{
int n = 0 ;
char a[200] ;
char *pt ;
gets(a) ;
pt=&a[0] ;
while( ( *pt ) != '\0' )
{
pt ++ ;
if( ( ( *pt ) ==' ') || ( (*pt ) == ',' ) )
{
n ++ ;
}
}
printf("有%d个单词" , n ) ;
}
你再重新上机编辑、调试、链接试一试看看。
所以你现在程序显示的结果是?