| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2189 人关注过本帖
标题:丢失的数字:新手求大神指教啊啊啊!运行正确,但是提交就错了
取消只看楼主 加入收藏
xuyinhao
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2016-7-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
丢失的数字:新手求大神指教啊啊啊!运行正确,但是提交就错了
Description
有N个数字是来自一个长度为N+1的连续整数序列,但是给你的并不是有序的,请你帮忙找出来是缺失的那个数字是在序列的两边还是中间



Input
有多组测试数据,每组测试数据包括2行,第一行包括一个整数N(0<N<10000),第二行包括N个整数
以N为0结束


Output
每组测试数据输出结果:
中间缺失输出M,两边缺失输出S



Sample Input
Original Transformed

5
2 3 7 5 6
5
3 4 2 5 6
0
5[EOL] 2[SP]3[SP]7[SP]5[SP]6[EOL] 5[EOL] 3[SP]4[SP]2[SP]5[SP]6[EOL] 0[EOL] [EOF]

Sample Output
Original Transformed

Case 1:
M
Case 2:
S
我的代码如下:
#include<stdio.h>
#include<stdlib.h>
cmp(const void*a,const void*b)
{
    return *(int *)a-*(int *)b;
}

int main()
{
    int n,j=1;
    while(scanf("%d",&n)!=EOF)
    {
        if(n==0) break;
        else
        {

            int a[10020],i;
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            qsort(a,n,sizeof(a[0]),cmp);
            for(i=1;i<n;i++)
            {
                if(a[i]!=a[i-1]+1)
                {
                    printf("Case %d:\n",j);
                    printf("M\n");
                    break;
                }
                if(i==n-1)
                {
                  printf("Case %d:\n",j);
                  printf("S\n");
                }
            }
        }
        j++;
    }
    return 0;
}
非常感谢!!!
2016-07-09 16:21
xuyinhao
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2016-7-9
收藏
得分:0 
谢谢各位啦
我再好好想想
2016-07-10 10:26
快速回复:丢失的数字:新手求大神指教啊啊啊!运行正确,但是提交就错了
数据加载中...
 
   



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

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