基础编程练习 7-26 单词长度 (15 分)

这个题的测试用例只卡在了空句子那一个,题目没有明确给出只有一个"."的时候,什么也不输出直接结束。

```C

include<stdio.h>

int main(void){
char a[100]={0};
int i=0,count=0,k=0;
while(1){
scanf("%c",&a[i]);
if(a[i]=='.') //当条件成立直接跳出循环
break;
i++;// 这里的i 是为了确定一共输入多少个字符。
}
while(a[k]==' '){//跳过开头的所有空格
k++;
}
if(a[k] == '.') // 当输入只有一个点的时候,直接return 不输出任何数值(包括0);
return 0;
for(int j=k;j<=i;j++){
if(a[j]!=' '&&a[j]!='.'){ //说明下一个是字符,进行计数。
count++;
}
else if(a[j]=='.'){//实现"."不计入字符数;
printf("%d",count);
}
else if(a[j]==' '&&a[j+1]!=' '&&a[j+1]!='.'){//完成字符与字符之间空格的排除,
printf("%d ",count);
count=0;//置0,确保对下一位字符的计数。
}
}
return 0;
}

总是可以学到很多。

猜你喜欢

转载自www.cnblogs.com/yinanweike/p/10741342.html
今日推荐