我想检查句子中的单词是数字,浮点数还是字符。
这是我的代码。
gets(s);
while (s[c] != '\0')
{
b[c]=s[c];
if(s[c]==' '|| s[c]=='\n')
{
temp=0,temp1=0,temp2=0;
for(i=j; i<=c; i++)
{
printf("%c",b[i]);
j=i;
if(b[i]=='.')
{
temp++;
}
else if(isdigit(b[i]))
{
temp1++;
}
}
printf("===");
if(temp1 >=0 && temp>0 )
{
printf(" It's a float number\n",b[j]);
b[c]=NULL;
}
else if(temp==0&&temp1>0)
{
printf(" it's a number\n", b[j]);
b[c]=NULL;
}
else
{
printf(" it's a charecter\n",b[j],temp);
b[c]=NULL;
}
}
c++;
}
从这里开始,
if(s[c]==' '|| s[c]=='\n')
{
for(i=j; i<=c; i++)
{
printf("%c",b[i]);
j=i;
}
}
说明
我可以在空格之前打印出单词,但是最后一个句子。我怎么比较呢?