请高手帮我编一个统计字符串中单词个数的c语言程序,要求用指针语言

如题所述

第1个回答  推荐于2016-08-22
方法一:
#include<stdio.h>
void main()
{
char str[81],*p;
int i,word=1;
gets(str);
for(p=str;*p!='\0';p++)
if(*p==' ') word++;
printf("%d",word);

}
方法二:
#include<stdio.h>
void main()
{
int tongji(char *p);
char str[81];
gets(str);
printf("%d\n",tongji(str));

}
int tongji(char *p)
{
int word=1;
for(;*p!='\0';p++)
if(*p==' ') word++;
return word;
}追问

这个不能解决单词间有两个空格的问题

追答

#include
void main()
{
char str[81],*p;
int i,word=1;
gets(str);
for(p=str;*p!='\0';p++)
if(*p==' '&&*(p+1)!=' ') word++;
printf("%d",word);

}

本回答被提问者采纳
第2个回答  2012-07-15
main()
{
int word=0,flag=0,i;
char c;
char str[80];
printf("please input a string:\n");
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c==' ')
{
flag= 0;
}
else
{
if(flag==0)
{
word++;
flag=1;
}
}
}
printf("word is %d",word);
getch();
}
第3个回答  2011-05-19
#include "stdafx.h"
#include <stdio.h>
#define N 100
void main()
{
char *p=new char[N];
int num=1;
gets(p);
while(*p != '\0')
{
if(*p == ' ')
{
while(*p == ' ')
{
p++;
}
p--;
num++;
}
p++;
}
printf("%d",num);
getchar();
}
相似回答