c++ - 打印一次出现的字符串数组的第一个元素
问题描述
我有一个包含名称的数组,我需要打印出只出现一次的名字。例如,我有以下名称:
乔、安迪、阿尔伯特、安迪、泰勒、阿尔伯特。
程序应该打印出 Joe(如果没有正确答案,则打印出一个空行),因为那是第一个出现一次的。
到目前为止,这是我的程序:
#include <iostream>
using namespace std;
int main()
{
int size;
cin >> size;
string trash;
string arr[size];
for (int i=0; i<size; i++)
{
cin >> arr[i];
}
getline(cin,trash);
string first;
for (int i=0; i<size; i++)
{
if ( arr[i] != arr[i+1] )
first = arr[i];
}
cout << first << endl;
}
解决方案
这是我的版本:
#include <iostream>
using namespace std;
int main()
{
int size;
cin >> size;
// string trash;
string arr[size];
for (int i=0; i<size; i++){
cin >> arr[i];
}
// getline(cin,trash);
string first;
for (int i=0; i<size; i++)
{
first = arr[i];
for (int j = 0; j < size; ++j){
if ( arr[i] == arr[j] && i!=j)
first = "";
}
if (first == arr[i])
break;
}
cout << first << endl;
}
推荐阅读
- api - 如何将 JSON 输入正文参数保存到 POSTMAN 中的全局变量(检查图像)
- leaflet - 在缩放之前在传单中获取 GeoJson 区域的地图边界
- r - 使用关系逻辑找到每行数据帧的第 n 个最大值?
- python-3.x - 使用 Python 用另一个嵌套 Json 更新嵌套 Json
- c - 有条件地向字符串添加分号
- json - Flutter http.get没有获取身体数据
- javascript - 如何在获取所有对象的 api 中转换日期格式
- lastpass - LastPass - 这究竟是做什么的“尊重自动完成=关闭:允许网站禁用自动填充”
- java - 如何使用 Java 8 Stream 或集合框架计算列表中多个元素的出现次数
- kubernetes - 使用 ServiceMesh 进行物理安全配置