杭电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;
}
每次编的时候都会发现运行的时候 需要再多打一些东西出来 再有结果运行出来、、不知道是为什么呢??求解答~~ 展开
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;
}
每次编的时候都会发现运行的时候 需要再多打一些东西出来 再有结果运行出来、、不知道是为什么呢??求解答~~ 展开
3个回答
展开全部
//*******************************************************************
// 杭电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;
}
//*******************************************************************
// 祝学习进步,更上一层楼 *(^-^)*
//*******************************************************************
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf("%d %d\n",&n,&m);
你确定是这个?
这个造成输入错误的
你要输的格式是12 12\n
\n不能被scanf识别成转义字符要自己打出来的
这是规矩
你确定是这个?
这个造成输入错误的
你要输的格式是12 12\n
\n不能被scanf识别成转义字符要自己打出来的
这是规矩
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf输入时中间有空格?
追问
删除了、、但是 运行结果却会这个样子
3 3
1 2 4
1 2 3 4
3 3
1 2 4
3 3 3 3、、
这是为什么呢??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询