2 qq 31756441 qq_31756441 于 2016.02.28 14:29 提问

c++题目,输入一些单词,当出现相同单词的时候将这个单词输出,请问我写的错哪儿了?

#include
#include
using std::cin;
using std::cout;
using std::vector;
using std::string;
using std::endl;
int main ()
{
vector x;
string i;
auto a = x.begin();
auto b = x.end();
while (cin>>i)
{
x.push_back(i);
while (a!=x.end())
{
if (*a == i)
break;
a++;
}
if (a != x.end()+1)
break;
}
cout<<i<<endl;
return 0;
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.02.28 14:48
已采纳
 #include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    vector<string> x;
    string i;
    while (cin>>i)
    {
        vector<string>::iterator a;
        for (a = x.begin();a!=x.end();a++)
        {
            if (*a == i) 
            {
                cout<<i<<endl;
                return 0;
            }
        }
        x.push_back(i);
    }
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
递归——单词全排列
递归是编程技术中常用的一种技术,就是方法是支持自己调用自己,在面对过程编程中已经有了递归的接触,像斐波那契序列的求解等这些都是可以用递归来解决的。java方法是支持嵌套调用方法不支持嵌套定义。       使用递归需要注意以下几点:1 递归需要一个基值情况,其意思是导致递归的返回而没有再一次递归调用。2 第一个递归都需要有终止条件。以防止无限递归下去,可能由此引发程序崩溃。以上两点是在递归调用中特
10:单词排序
原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写) 输入一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。 输出按字典序输出这些单词,重复的
输入一个字符串,把这个字符串中的每个单词打印出来,即输出到屏幕
输入一个字符串(或英文),把这个字符串中的每个单词打印出来,即输出到屏幕
对读入的某个文本文件input.txt中,拆出英文单词,输出一个按字典顺序排列的单词表,结果输出在文本文件output.txt中,每个单词一行,并在单词后输出该单词出现的个数,两个字段之间用逗号分隔。约定单词仅由英文字母组成,单词间由非英文字母分隔,相同单词只输出一个,大小写不区分。
对读入的某个文本文件input.txt中,拆出英文单词,输出一个按字典顺序排列的单词表,结果输出在文本文件output.txt中,每个单词一行,并在单词后输出该单词出现的个数,两个字段之间用逗号分隔。约定单词仅由英文字母组成,单词间由非英文字母分隔,相同单词只输出一个,大小写不区分。
8.10 写一函数,输入一行字符,将此字符串中最长的单词输出。(改)
写一个快一个月,这是我写过的最长的程序了。我认为比书上的好。最大的优势是我的如果出现重复的长度,是可输出的。 #include//8.10 写一函数,输入一行字符,将此字符串中最长的单词输出。(改) int character(char c); //判断是否是字符 int word_head(int i,char s[]);//判断单词的开头 int word_bottom(int i,ch
单词全排列
如何对一个包含n个字母的单词进行全排列? 1,对右边
输入一个英语句子,将句中单词按照出现次数从多到少输出。
输入一个英语句子,将句中单词按照出现次数从多到少输出。 #include <iostream> #include <algorithm> #include <string> #include <map> using namespace std; int main() { string s,s1,s2; map<string,int> mmap; cout<<"请输入句子:"<<endl; while(cin>>s) { //getline(cin,s,'\n'); if(s=="#")
计算单词出现的频率C语言实现的
这个就不多说,纯干货: 先看看这个文件的结构吧 具体的代码如下: add_word.c 加入单词 #include #include #include #include "word_manage_p.h" static void shift_array(int index) { int src; for (src = num_of_word -
输入一行字符,输出最长的单词
1、确定单词分隔符,一般情况为空格和标点符号,根据题目情况来确定标点符号是否算在单词中。 假定单词不包括标点符号,即全由字母组成 2、根据上面的特点,读取一个单词 3、计算单词长度 4、与当前最大单词长度max(初值为0)比较,如果大于max,则记录下当前单词,并将其长度赋值给max 5、重复2-4,直到读单词结束(到字符串尾)。 6、输出最长单词长度和单词。 #include #in
输入一行字符,把字符串中最长的单词输出
输入一行字符,把字符串中最长的单词输出 思路:先找出每个单词的结束下标和单词长度存在数组中,根据最长单词的结束下标和长度,输出最长单词 #include&amp;lt;stdio.h&amp;gt; int main() { char a[100]; int i; int j; int m=0,n=0;//用m来记录单词结束下标,用n来记录最长单词的长度 int b[100]={0}...