6-3 单词的拆分
请编写函数,将传入的一字符串,拆分成一个个的单词并输出。注:不使用string.h类库
函数接口定义:
void string2words(char *Chars); //string-->words[]
裁判测试程序样例:
#include<stdio.h>
int isA_z(char ch){
return (ch>='a'&&ch<='z')||(ch>='A'&& ch<='Z');
}
void string2words(char *Chars); //string-->words[]
int main(){
char chs[9999]";
gets(chs);
string2words(chs);
return 0;
}
输入样例:
输入长度不超过9998的字符串,以回车结束。
void string2words(char *Chars)//string–>words[]//h
输出样例:
将拆分好的单词分别置于一对[]中依次输出,不用换行。
[void][string][words][char][Chars][string][words][h]
C语言详解
void speak(char Chars[],int cnt)
{
printf("[");
for (int i = 0; i < cnt; i++)
{
printf("%c",Chars[i]);
}
printf("]");
}
void string2words(char* Chars) //string-->words[]
{
char t[9999]; int cnt = 0;
for (int i = 0; i < strlen(Chars); i++)
{
if (isA_z(Chars[i]))
{
t[cnt] = Chars[i];
cnt++;
}
else
{
if(cnt!=0)speak(t, cnt);
memset(t, 0, sizeof(t) / sizeof(char));
cnt = 0;
}
}
if (cnt != 0)speak(t, cnt);
}