使用vector的一些小问题

7-6 按顺序输出

分数 15

全屏浏览

切换布局

作者 fpc

单位 内蒙古师范大学

本题目要求读入3个整数a,b,c,然后按从小到大的顺序输出。

输入格式:

输入在一行中给出2个绝对值不超过1000的整数a,b,c。

输出格式:

对每一组输入,按照从小到大的顺序在一行内输出两个数,中间用"<"分割(行尾无需换行)。

输入样例:

复制代码
5 3 4

输出样例:

复制代码
3<4<5

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

背景:

今天的作业,想用vector然后sort一下。代码如下。但是运行结果就是"0<0<0"

代码:

#include<bits/stdc++.h>

using namespace std;

int main(){

vector<int>a(4);//

for(int i=0;i<3;i++){

int b;

cin>>b;

a.push_back(b);//

}

sort(a.begin(),a.end());

for(int i=0;i<3;i++){

cout<<a[i];

if(i!=2)cout<<'<';

}

return 0;

}

查了一下gpt确实是有问题:在初始化 vector<int> a(4); 时,会创建一个包含4个元素的 vector,但在后续的循环中又通过 push_back 方法往 vector 中添加元素,导致实际存储的元素个数为7。这可能会导致输出结果不符合预期,因为排序和输出时会考虑所有7个元素。

修改:

1.把sort的a.end()改为a.begin()+3;

2.不用push_back(),用a[i]读入,并将定义改为vector<int> a(3);

相关推荐
永远都不秃头的程序员(互关)4 分钟前
【决策树深度探索(五)】智慧之眼:信息增益,如何找到最佳决策问题?
算法·决策树·机器学习
智者知已应修善业6 分钟前
【输出方形点阵】2024-11-1
c语言·c++·经验分享·笔记·算法
近津薪荼13 分钟前
优选算法——双指针专题2(模拟)
c++·学习·算法
乌萨奇也要立志学C++18 分钟前
【洛谷】DFS 新手必学的4 道DFS经典题 手把手教你剪枝与回溯
算法·深度优先
sali-tec19 分钟前
C# 基于OpenCv的视觉工作流-章15-多边形逼近
图像处理·人工智能·opencv·算法·计算机视觉
一条大祥脚20 分钟前
势能分析与势能线段树
开发语言·javascript·数据结构·算法
想做一只开心的菜鸡24 分钟前
DARTS#01 | Tournament Sort算法 | MySQL深度翻页优化技巧 | 论文ByteSlice Review
数据库·mysql·算法
一起养小猫26 分钟前
Flutter实战:从零实现俄罗斯方块(一)数据结构与核心算法
数据结构·算法·flutter
2501_9011478330 分钟前
四数相加问题的算法优化与工程实现笔记
笔记·算法·面试·职场和发展·哈希算法
亿秒签到32 分钟前
第六届传智杯程序设计国赛B组T4·小苯的字符串染色
数据结构·算法·传智杯