【发布时间】:2018-08-09 13:41:09
【问题描述】:
我很困惑创建一个函数,该函数将打印一个字符串并要求用户输入两个数字,然后函数将这些单词的数量相互替换。 我已将下面的图像添加为示例。 enter image description here
这是我的作业,我创建了其他 3 个函数,但并没有真正得到这个。 有人可以帮助我如何将单词转换为数字,然后将这些单词的数量相互替换。
这是我的程序,它可以将字符串分解成单词,但是我如何替换单词的位置。
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100];
char newString[10][10];
int i,j,ctr;
printf("\n\n Split string by space into words :\n");
printf("---------------------------------------\n");
printf(" Input a string : ");
fgets(str1, sizeof str1, stdin);
j=0; ctr=0;
for(i=0;i<=(strlen(str1));i++)
{
// if space or NULL found, assign NULL into newString[ctr]
if(str1[i]==' '||str1[i]=='\0')
{
newString[ctr][j]='\0';
ctr++; //for next word
j=0; //for next word, init index to 0
}
else
{
newString[ctr][j]=str1[i];
j++;
}
}
printf("\n Strings or words after split by space are :\n");
for(i=0;i < ctr;i++)
printf(" %s\n",newString[i]);
return 0;
}
【问题讨论】:
-
建议将句子逐字逐句读成一个单词数组,从那里开始,剩下的应该很容易
-
那个例子不是很好。如果从字面上理解,逗号将很难处理。
-
我现在已经添加了我当前的代码。
-
@RetiredNinja 会说这个例子真的很好,因为它展示了如何处理逗号。
-
在哪里提示输入要交换的单词的索引?