1. 程式人生 > >7-32 單詞長度(15 分)

7-32 單詞長度(15 分)

你的程式要讀入一行文字,其中以空格分隔為若干個單詞,以.結束。你要輸出每個單詞的長度。這裡的單詞與語言無關,可以包括各種符號,比如it's算一個單詞,長度為4。注意,行中可能出現連續的空格;最後的.不計算在內。

輸入格式:

輸入在一行中給出一行文字,以.結束

提示:scanf("%c",...);來讀入一個字元,直到讀到.為止。

輸出格式:

在一行中輸出這行文字對應的單詞的長度,每個長度之間以空格隔開,行末沒有最後的空格。

輸入樣例:

It's great to see you here.

輸出樣例:

4 5 2 3 3 4
我的程式碼:
#include<stdio.h>
int main(void){
	char c[1000000];
	int i,j;
	for(i=0;;i++){
		scanf("%c",&c[i]);
		if(c[0]==' '){
			i--;
		}
		if(c[i]=='.'){
			break;
		}
	}
	int sum=0;
	//輸出
	for(j=0;j<i;j++){
		if(c[j]==' ') continue;
		for(;c[j]!=' ' && c[j]!='.';j++){
			sum++;
		}
		if(c[j]=='.') printf("%d",sum);
		else{
			for(int m=j;m<=i;m++){
				if(c[m]==' ') continue;
				else if(c[m]=='.'){
					printf("%d",sum);
					return 0;
				}else break;
			}
			printf("%d ",sum);sum=0;
		}
	}
}