/**
文件描述:统计字符串中单词的个数.c
作者:安理计算机 杨腾飞
日期:2019.2.15
版本:v1.1
问题描述:输入一行字符,然后判断其中有多少单词,要求每个单词间用空格分开,并且最后的字符不能为空格
知识点:
-----------if …else if…
*/
#include<stdio.h>
main()
{
char string[100]; //定义字符串数组存放字符
int i,count; //定义中间变量,计数器
char c; //定义中间变量--比较
char a; //定义中间变量--比较
printf("请输入英文句子,单词之间用空格隔开,最后的字符不能为空格\n");
gets(string);
if(string[0]=='\0') //判断字符串为空的情况
{
puts("字符串为空!(There's no char!\n");
}
else if(string[0]==' ') //开始为空格时
{
count=0;
for(i=0;string[i]!='\0';i++)
{
c=string[i];
if(c==' ')
{
count++;
}
}
}
else if(string[0]!=' ') //开始是单词时
{
count=1;
for(i=0;string[i]!='\0';i++)
{
c=string[i];
if(c==' ')
{
count++;
}
}
}
for(i=0;string[i]!='\0';i++)
{
c=string[i];
a=string[i+1];
if(c==' '&&a==' ')
{
count=count-1;
}
}
printf("共有单词%d个!(There's %d char!)\n",count,count);
}
/****
拓展–思索:
仅count初始值大小分类,其他句子公用怎样改?
如果在遇到标点时前后打一个空格该怎样处理(例:“My dear! ! !”)
怎样改变对话框的字体和背景美观界面?**
/
/*
v1.0针对规范输入*
#include<stdio.h>
main()
{
char string[100]; //定义字符串数组存放字符
int i,count; //定义中间变量,计数器
char c; //定义中间变量--比较
printf("请输入英文句子,单词之间用空格隔开,最后的字符不能为空格\n");
gets(string);
if(string[0]=(由于不会操作,此处省略一个'='.下同) '\0') //判断字符串为空的情况
{
puts("字符串为空!(There's no char!\n");
}
else if(string[0]=(同上)' ') //开始为空格时
{
count=0;
for(i=0;string[i]!='\0';i++)
{
c=string[i];
if(c==' ')
{
count++;
}
}
printf("共有单词%d个!(There's %d char!)\n",count,count);
}
else if(string[0]!=' ') //开始是单词时
{
count=1;
for(i=0;string[i]!='\0';i++)
{
c=string[i];
if(c==' ')
{
count++;
}
}
printf("共有单词%d个!(There's %d char!)\n",count,count);
}
}
v1.1可处理连续空格情况
*/
如有错误,欢迎指正!