去重整数并排序-c++

题目描述
给定一个整数序列,KiKi想把其中的重复的整数去掉,并将去重后的序列从小到达排序输出。
输入描述:
第一行,输入一个整数n,表示序列有n个整数。
第二行输入n个整数(每个整数大于等于1,小于等于1000),整数之间用空格分隔。
输出描述:
去重并且从小到大排列的整数序列,整数之间用空格分隔。
示例1
输入

6
5 3 3 4 2 2

输出

2 3 4 5
#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int num[n+1];
    for(int i=0;i<n;i++)
        cin>>num[i];
    //去重
    sort(num,num+n);
    int m=unique(num,num+n)-num;  //去重复
    for(int i=0;i<m;i++)
        cout<<num[i]<<" ";
    return 0;
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用以下代码实现: ``` a = int(input("请输入第一个整数:")) b = int(input("请输入第二个整数:")) c = int(input("请输入第三个整数:")) # 排序 if a > b: a, b = b, a if a > c: a, c = c, a if b > c: b, c = c, b # 输出结果 print("升序排序后的结果为:", a, b, c) ``` 运行结果如下: ``` 请输入第一个整数:3 请输入第二个整数:1 请输入第三个整数:5 升序排序后的结果为: 1 3 5 ``` ### 回答2: 我们可以通过使用Python语言中的sort函数来实现这个问题。sort函数可以对列表进行排序,而我们可以将输入的三个整数存储在一个列表中,然后对其进行排序,最终输出结果。 以下是代码实现: ``` nums = [] for i in range(3): num = int(input("请输入一个整数:")) nums.append(num) nums.sort() # 列表排序 print("升序排序后的结果为:", nums) ``` 首先,我们创建了一个空列表nums,用于存储输入的三个整数。然后,我们使用for循环从键盘上输入三个整数,并将其转换为整数类型后添加到nums列表中。 接着,我们使用sort函数对nums列表进行排序,该函数会将列表原地排序,即不会创建新的列表,它会直接修改原来的列表。 最后,我们使用print语句输出排序后的结果。 当我们输入3,1,4这三个整数时,输出结果为: ``` 请输入一个整数:3 请输入一个整数:1 请输入一个整数:4 升序排序后的结果为: [1, 3, 4] ``` 可以看到,根据我们输入的三个整数,代码成功将其升序排序,并输出了结果。 ### 回答3: 题目要求我们实现输入3个整数,按照升序排序并输出结果。为了完成这个任务,我们需要运用一些基本的编程知识和技巧。 首先,我们需要使用输入函数来接收用户从键盘输入的3个整数。常见的输入函数有scanf和cin等。在这里,我们使用scanf函数。具体代码如下: ``` int a, b, c; printf("请输入3个整数:\n"); scanf("%d%d%d", &a, &b, &c); ``` 接下来,我们需要将这3个数字按照升序排序。升序排序是将一组数字按照从小到大的顺序排列。实现升序排序有很多方法,其中一种简单的方法是使用冒泡排序法。冒泡排序法是一种简单的交换排序算法。具体思路是,先比较相邻的两个数字,如果前一个数字比后一个数字大,则交换它们的位置,这样一轮下来,最大的数字就会排在最后面。然后,再对前面的数字复这个过程,直到整个数组排序完毕。 因此,我们可以使用冒泡排序法对这3个数字进行排序。实现代码如下: ``` // 冒泡排序 if (a > b) { int temp = a; a = b; b = temp; } if (a > c) { int temp = a; a = c; c = temp; } if (b > c) { int temp = b; b = c; c = temp; } ``` 最后,我们需要将排序后的数字输出。使用printf函数即可。完整代码如下: ``` #include <stdio.h> int main() { int a, b, c; printf("请输入3个整数:\n"); scanf("%d%d%d", &a, &b, &c); // 冒泡排序 if (a > b) { int temp = a; a = b; b = temp; } if (a > c) { int temp = a; a = c; c = temp; } if (b > c) { int temp = b; b = c; c = temp; } printf("排序后的结果为:%d %d %d\n", a, b, c); return 0; } ``` 以上就是实现输入3个整数按升序排序并输出结果的完整代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&twelve

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值