C++:将s指向的字符串(英文句子)中所有单词取出保存到w指向的数组中,再对w数组中的单词按字典序排序
函数intword_sort(chars[],charw[10][20])的功能是:将s指向的字符串(英文句子)中所有单词取出保存到w指向的数组中,再对w数组中的单词按字...
函数int word_sort(char s[ ],char w[10][20])的功能是:将s指向的字符串(英文句子)中所有单词取出保存到w指向的数组中,再对w数组中的单词按字典序排序。函数返回w数组中存储的单词个数。
展开
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
#include <iostream>
using namespace std;
int word_sort(char s[], char w[10][20])
{
int i = 0, j = 0;
while (*s)
{
if (*s!=' ')
w[i][j++] = *s;
if (*s!=' '&&(*(s+1)==' '||*(s+1)=='\0'))
{
w[i][j] = '\0';
j = 0;
i++;
}
s++;
}
for (j = 0; j < i-1; j++)
{
for (int k = j+1; k<i ;k++)
{
if (strcmp(w[j], w[k])>0)
{
char t[20];
strcpy(t,w[j]);
strcpy(w[j],w[k]);
strcpy(w[k],t);
}
}
}
return i;
}
int main()
{
char a[200];
char b[10][20];
gets(a);
int len = word_sort(a, b);
for (int i = 0; i < len; i++)
cout << b[i] << ' ';
cout << endl;
return 0;
}
using namespace std;
int word_sort(char s[], char w[10][20])
{
int i = 0, j = 0;
while (*s)
{
if (*s!=' ')
w[i][j++] = *s;
if (*s!=' '&&(*(s+1)==' '||*(s+1)=='\0'))
{
w[i][j] = '\0';
j = 0;
i++;
}
s++;
}
for (j = 0; j < i-1; j++)
{
for (int k = j+1; k<i ;k++)
{
if (strcmp(w[j], w[k])>0)
{
char t[20];
strcpy(t,w[j]);
strcpy(w[j],w[k]);
strcpy(w[k],t);
}
}
}
return i;
}
int main()
{
char a[200];
char b[10][20];
gets(a);
int len = word_sort(a, b);
for (int i = 0; i < len; i++)
cout << b[i] << ' ';
cout << endl;
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询