题目:去除字符串中的空格并分解单词。要求:在main()中调用下述各函数,完成字符串中去除空格并分解单词的功能。
函数原型如下: 函数一:单词内是否包含数字 int IsNumIn(char word[]) 函数二:单词内是否包含空格 int IsSpcIn(char word[]) 函数三:去掉单词的前后空格,tab键和换行符 Trim(char oldWord[], char newWord[]) 函数四:单词内部有空格,分解成多个单词 Seg(char words[], char wArray[][100] ) 假设单词内部只有一个空格,没有两个连续空格的情况发生。
要求利用gets函数来获得用户输入的字符串,不能用scanf来获得用户输入的字符串 程序运行示例1: ros2e error 程序运行示例2: hello world hello world
#include
#include
#define N 100
int IsNumIn(char word[]);
int IsSpcIn(char word[]);
void Trim(char oldWord[], char newWord[]);
void Seg(char words[], char wArray[][100]);
int main()
{
char str1[N], str[N], w_Arr[20][100];
int i, j;
for (i = 0; i < N; i++)
{
*(str1 + i) = 0;
*(str + i) = 0;
}
for (i = 0; i < 20; i++)
{
for (j = 0; j < 100; j++)
w_Arr[i][j] = 0;
}
gets(str1);
Trim(str1, str);
if (IsNumIn(str))
printf("error");
else
{
if (IsSpcIn(str))
{
Seg(str, w_Arr);
for (i = 0; w_Arr[i][0] != '
'; i++)
{
puts(w_Arr[i]);
}
}
else
puts(str);
}
return 0;
}
int IsNumIn(char word[])
{
int i;
for (i = 0; *(word + i) != ''; i++)
{
if (isdigit(*(word + i)))
return 1;
}
return 0;
}
int IsSpcIn(char word[])
{
int i;
for (i = 0; *(word + i) != '
所使用的头文件
部分函数功能,有兴趣可以自己深入了解
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)