杭电2019 数列有序,请高手指点一下哪里有问题? 5

#include<stdio.h>intmain(){intn,m,c,d,e,f;intarray[101];scanf("%d%d\n",&n,&m);while(n... #include<stdio.h>
int main()
{
int n,m,c,d,e,f;
int array[101];
scanf("%d %d\n",&n,&m);
while(n!=0&&m!=0)
{
array[0] = m;
for (int a=1;a<=n;a++) scanf("%d ",&array[a]);
printf("\n");
for (int b=0;b<n;b++)
{
c = array[b];
e = b + 1;
d = array[e];
array[b] = c<d?c:d;
array[d] = c>d?c:d;
}
for (int f=0;f<=n;f++)
printf("%d ",array[f]);
printf("\n");
}
return 0;
}
每次编的时候都会发现运行的时候 需要再多打一些东西出来 再有结果运行出来、、不知道是为什么呢??求解答~~
展开
 我来答
nanhay
2014-02-05 · TA获得超过1172个赞
知道小有建树答主
回答量:824
采纳率:0%
帮助的人:992万
展开全部
//*******************************************************************
//  杭电2019                数列有序!          代码已AC
//  LZ对ACM的规则了解的不够详细,建议查阅一下杭ACM站点的左上角 F.A.Q
//  里面有比较详细的讲解...
//  1... 输入数据包含多个测试实例
//  2... n和m同时为0标示输入数据的结束
//  3... 输出时,注意最后一个输出后面不要带空格 
//*******************************************************************
#include<stdio.h>
#include<string.h>
int main()
{
    int n, m, a, b, c, d, e, f;
    int array[101];
    //    scanf("%d %d\n", &n, &m);   输入数据包含多个测试实例
    while(scanf("%d %d", &n, &m))
    {
        if(n == 0 && m == 0)  //n和m同时为0标示输入数据的结束
            break;
        memset(array, '\0', 101) ;    //初始化数组 array
        array[0] = m;
        for ( a = 1; a <= n; a++)
            scanf("%d", &array[a]);
        //        printf("\n");       //不能随意添加换行哦
        for (b = 0; b < n; b++)
        {
            c = array[b];
            e = b + 1;
            d = array[e];
            array[b] = c <= d ? c : d;
            array[e] = c > d ? c : d; //array[e] 是e不是d哦
        }
        for ( f = 0; f <= n; f++)   //最后一个输出不能带空格 
        {
            if(f == 0)
                printf("%d", array[f]);
            else
                printf(" %d", array[f]);
        }
        printf("\n");
    }
    return 0;
}
//*******************************************************************
//  祝学习进步,更上一层楼 *(^-^)*
//*******************************************************************
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
renshijie1018
2014-01-27 · TA获得超过1006个赞
知道小有建树答主
回答量:1063
采纳率:94%
帮助的人:943万
展开全部
scanf("%d %d\n",&n,&m);

你确定是这个?
这个造成输入错误的
你要输的格式是12 12\n
\n不能被scanf识别成转义字符要自己打出来的
这是规矩
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30395c4
2014-01-26
知道答主
回答量:3
采纳率:0%
帮助的人:3878
展开全部
scanf输入时中间有空格?
追问
删除了、、但是 运行结果却会这个样子
3 3
1 2 4
1 2 3 4
3 3
1 2 4
3 3 3 3、、
这是为什么呢??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式