我已经设法将文章存储到堆中,但是我该如何处理字典呢?我尝试使用 strcpy(tempArticle [i],字典); 但它似乎没有用?有人会给我一个关于下一步该做什么的提示吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void spellCheck(char article[], char dictionary[]) {
int len = strlen(article) + 1;
int i;
char* tempArticle;
tempArticle = malloc(len);
if (tempArticle == NULL) {
printf("spellcheck: Memory allocation failed.\n");
return;
}
for(i = 0; i < len; i++)
tempArticle[i] = tolower(article[i]);
i=0;
while (tempArticle[i] != '\0'){
if (tempArticle[i] >= 33 && tempArticle[i] <= 64)
tempArticle[i] = ' ';
i++;
}
strcpy(tempArticle[i], dictionary);
printf("%s", tempArticle);
free(tempArticle);
}
答案 0 :(得分:1)
您最好的选择是先找出算法,然后然后对其进行编码。
换句话说,获取白板,一张纸或启动文本编辑器,并用简单的语言写下您将要将文章与字典进行比较的步骤。您可以从非常简单的事情开始,例如:
然后你必须进一步打破每个复杂的位 - 例如,“查看字典中是否有一个单词”需要分解。 (顺便说一下,像这样的每个自包含的“复杂位”都是生成代码中单独函数的良好候选者。)
此时,您会发现将您提出的内容转换为代码将更容易批次
。答案 1 :(得分:0)
我尝试过使用strcpy(tempArticle [i],字典);但它似乎没有用?
tempArticle [i]是数组位置,字典是数组..
使用数组存储数组..希望这将解决问题..现在我想只有字典中的第一个字符才会存储在temparticle中..