使用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);

相关推荐
你撅嘴真丑2 分钟前
求矩阵的两对角线上的元素之和 与 sizeof的大作用
线性代数·算法·矩阵
程序员三明治7 分钟前
【面试手撕】如何构造二叉树输入用例?ACM模式,路径总和2解题思路
算法·leetcode·面试·acm·构造二叉树·路径总和
干前端18 分钟前
Message组件和Vue3 进阶:手动挂载组件与 Diff 算法深度解析
javascript·vue.js·算法
ゞ 正在缓冲99%…20 分钟前
2025.12.17华为软开
java·算法
子午27 分钟前
【2026原创】文本情感识别系统~Python+深度学习+textCNN算法+舆情文本+模型训练
python·深度学习·算法
Flash.kkl27 分钟前
递归、搜索与回溯算法概要
数据结构·算法
s090713627 分钟前
【MATLAB】多子阵合成孔径声纳(SAS)成像仿真——基于时域反向投影(BP)算法
算法·matlab·bp算法·合成孔径
Xの哲學28 分钟前
Linux Workqueue 深度剖析: 从设计哲学到实战应用
linux·服务器·网络·算法·边缘计算
sin_hielo33 分钟前
leetcode 3047
数据结构·算法·leetcode
JAI科研35 分钟前
MICCAI 2025 IUGC 图像超声关键点检测及超声参数测量挑战赛
人工智能·深度学习·算法·计算机视觉·自然语言处理·视觉检测·transformer