标题:求n个整数中第二小的数。 相同的整数看成一个数。比如,有5个数分别是1,1, ...
只看楼主
筱筱娟
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-28
结帖率:66.67%
 问题点数:0 回复次数:4 
求n个整数中第二小的数。 相同的整数看成一个数。比如,有5个数分别是1,1,3,4,5,那么第二小的数就是3。
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
  int c,i,n,a[11],d;
  scanf("%d",&c);
  while(c--)
  {
    d=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
      scanf("%d",&a[i]);
    sort(a,a+n);
    for(i=0;i<n-1;i++)
      if(a[i]!=a[i+1])
     {
      printf("%d\n",a[i+1]);
      d++;
      break;
     }
    if(d==0)
      printf("NO\n");
  }
  return 0;
}
哪里错了
   
搜索更多相关主题的帖子: include 
2016-04-21 12:13
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:0 
回复 楼主 筱筱娟
有错吗,没看出来啊
2016-04-21 14:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
可能没分清输入的内容
程序代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    int c,i,n,a[11],d;
    printf("输入练习次数:");
    scanf("%d",&c);
    while(c--)
    {
        d=0;
        printf("输入数组元素个数:");
        scanf("%d",&n);
        printf("输入数组元素:\n");
        for(i=0; i<n; i++)
            scanf("%d",&a[i]);
        sort(a,a+n);
        for(i=0; i<n-1; i++)
            if(a[i]!=a[i+1])
            {
                printf("求%d个整数中第二小的数是:%d\n",n,a[i+1]);
                d++;
                break;
            }
        if(d==0)
            printf("NO\n");
    }
    return 0;
}
2016-04-21 14:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
这还要sort?!!
2016-04-21 16:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用rjsp在2016-4-21 16:16:20的发言:

这还要sort?!!

sort后较好查找吧
2016-04-21 16:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463935-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.059727 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved