c++ - 我如何比较 C 或 C++ 中数组的内容

标签 c++ c arrays comparison word-count

基本上,我正在寻找的是一种将数组内容(例如:一个短语)设置为要比较的单个单词的方法。 所以当用户输入数据时,我可以告诉他们有多少个相同长度的单词。

void main(){
     char array[30];
     int length, cont, array_tokens;
     printf("enter a phrase: ");
     scanf("%[^\n]s", array); //or gets(array); which ever one you like
     /*-------------------------
      *******magic happens*******
     ---------------------------*/
     for(int i=0; i<wordcount;i++)
         printf("%d word(s) with %d letters was entered", array_tokens, cont);//some sort of 
     system("pause");                                                      //counter which came 
}                                                                         //with the magic that 
                                                                         //happened before

所以结果应该是:

输入一个词组:用户输入了一个长度相似的词组

已输入 1 个单词和 1 个字母

输入了 4 个字母的 2 个单词

已输入 1 个包含 5 个字母的单词

输入了 3 个 6 个字母的单词

已输入 1 个包含 7 个字母的单词

最佳答案

好吧,strtok() 是解决这个问题的一种方法。如果你的目标是效率(你应该),你应该写一个循环来遍历句子中的字母。计算自最后一个空格以来遇到的非空格字符的数量,并在每次获得空格时更新 n-letter-word-frequency 数组。我本可以编写代码来执行此操作,但我不想剥夺您自己编写工作代码时的满足感。 :P

关于c++ - 我如何比较 C 或 C++ 中数组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17412013/

相关文章:

c - scanf:检测到输入太长

arrays - 在 Ruby 中,如何用潜在的多个元素替换数组中的一个元素?

java - 更改一个数组列表项相对于另一个数组列表项的顺序

c++ - Boost.Serialization 是否释放加载指针期间创建的内存?

c++ - boost::variant 和函数重载决议

javascript - ATL ActiveX 控件如何向 javascript 公开一个 bool 值

c++ - 在 Mac 上找不到 lsocket 库

c++ - 运行时错误 : Assertion Failed, 列表迭代器不可取消引用

C:将x86指令放入数组并执行

c++ - 使用 C API 时,使用字符数组还是使用字符串并根据需要进行转换?