不使用for完成一段有空格间隔的字符串,分辨长度大于等于4的单词(求各位高人修改,我表示我是菜鸟,这个算法实在太长了)
2011-11-11 23:51
351 查看
#include <stdio.h>
#include <string.h>
void main()
{
char a[100];
int count,i,j,sum,f=0;
while(1)
{
memset(a, '\0' ,sizeof(a));
printf("请输入\n");
gets(a);
i = count = sum = 0;
while(a[i]!='\0')
{
if (f ==1)
{
count = 0;
f = 0;
}
if (a[i] == ' ')
{
i++;
continue;
}
if (a[i+1] != ' ' &&a[i+1] != '\0')
{
i++;
count++;
}
else
{
if(a[i+1] == ' '||a[i+1] =='\0')
{
count++;
if (count < 4)
{
i = i + 2;
count = 0;
continue;
}
else
{
j = i -(count -1);
while(j <= i)
{
printf("%c",a[j]);
j++;
}
f = 1;
printf(" ");
i++;
sum++;
}
}
}
}
if (sum == 0)
{
printf("没有长度大于等于4的单词!\n");
}
else
{
printf("长度大于等于4的单词有%d个\n",sum);
}
}
}
#include <string.h>
void main()
{
char a[100];
int count,i,j,sum,f=0;
while(1)
{
memset(a, '\0' ,sizeof(a));
printf("请输入\n");
gets(a);
i = count = sum = 0;
while(a[i]!='\0')
{
if (f ==1)
{
count = 0;
f = 0;
}
if (a[i] == ' ')
{
i++;
continue;
}
if (a[i+1] != ' ' &&a[i+1] != '\0')
{
i++;
count++;
}
else
{
if(a[i+1] == ' '||a[i+1] =='\0')
{
count++;
if (count < 4)
{
i = i + 2;
count = 0;
continue;
}
else
{
j = i -(count -1);
while(j <= i)
{
printf("%c",a[j]);
j++;
}
f = 1;
printf(" ");
i++;
sum++;
}
}
}
}
if (sum == 0)
{
printf("没有长度大于等于4的单词!\n");
}
else
{
printf("长度大于等于4的单词有%d个\n",sum);
}
}
}
相关文章推荐
- 练习1-21 编写程序entab,将空格串替换成最少数量的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选用哪种替换字符比较好。
- 每天学习一算法系列(22)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 关于对字符串、数组处理的常见问题与方法,如获取带有空格字符串长度,数组长度等。getline(),sprintf()使用。
- 计算字符串最后一个单词的长度,单词以空格隔开。
- 替换字符串中的空格&求字符串最后一个单词的长度
- 一个字符串去除里面的数字,把剩下的字符输出 和 一个字符串计算最大单词的长度并输出这个单词
- 如何判断一段字符串最后一个单词及其长度?
- 计算字符串最后一个单词的长度,单词以空格隔开
- 华为机试——查找字符串中空格分割的单词的最大长度
- 4.4将一个字符串中的n个字符复制到另一个字符串中,如果n大于这个字符串的长度,则超出部分以NUL补充
- 计算字符串最后一个单词的长度,单词以空格隔开
- 实验报告->数组的定义和使用->计算一段文字中的空格数和单词数
- 把一个数组里面的每一个字符串取出来 判断这个字符串的长度是不是大于10 判断完了 再放到一个数组里面
- EL表达式截取字符串的长度,字符串长度大于12个字符后,使用"."代替
- 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成
- 计算字符串最后一个单词的长度,单词以空格隔开。(华为在线编程题目)
- 计算字符串最后一个单词的长度,单词以空格隔开。
- 华为oj:计算字符串最后一个单词的长度,单词用空格隔开
- 算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
- 计算字符串最后一个单词的长度,单词以空格隔开