我这个C语言程序错在哪里

2025-03-18 20:59:03
推荐回答(4个)
回答1:

要改成——

        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的答案

回答2:

我做了些修改和调整,复制过去就可以了

#include
void main()
{
int n=1;
char a[200],*pt=a;
gets(a);
while(*pt!='\0 ')
{
pt++;
if(*pt==' '||*pt==',')n++;
}
printf("有%d个单词",n);
}

回答3:

#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 ) ;
}
你再重新上机编辑、调试、链接试一试看看。

回答4:

所以你现在程序显示的结果是?