额,不知道写啥。 2023-01-05 21:28 采纳率: 83.3%
浏览 31
已结题

缺失的数c++skdkfd

题目
现在给你一个整数n,和n−1个互不相同的整数a1,a2,…,an−1,这些数字是1..n排列的一部分,但缺失了一个数。现在问你缺失的数是多少。

样例输入
5
3 5 4 1
样例输出
2
#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[1001],n,big=-1,small=0;
    cin>>n;
    for(int i=1;i<=n-1;i++){
        cin>>a[i];
        if(a[i]<a[i-1]){
            a[i-1]=a[i];
            a[i]=a[i-1];
        }
    }
    for(int i=1;i<=n;i++){
        small=a[i];
        if(a[i]!=small){
            cout<<small;
            break;
        }
        small++;
    }
}

为什么我的输出不出来呢?

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-01-05 21:52
    关注
    • 你那从小到大排序有问题;

    • 另外两数交换,需要第三个数作为中间变量,再进行交换;

    • 先看效果图:

    img

    • 代码参考如下:
    #include<iostream>
    using namespace std;
    
    int main()
    {
        int n,t,i,j;
        cin>>n;
        int a[n-1];
        for(i=0;i<n-1;i++)
        {
            cin>>a[i];
        }
        for(i = 0; i < n - 2; i++)
        {
            for(j = 0; j < n - i - 2; j++)
            {
                if (a[j] > a[j+1])
                {
                    t = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t; 
                }
            }
        }
    
        int m = 0;
        for(i=1;i<=n;i++){        
            if(a[m++]!=i){
                cout<<i<<" ";
                m--;
            }
        }
        return 0;
    } 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日
  • 创建了问题 1月5日

悬赏问题

  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本
  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列