一段C语言的代码,大家帮我看看是哪里出了问题(2)
比较下面两个代码的区别:题目:输入3个整数,要求从小到大输出;第一段:#include<stdio.h>intmain(){inta,b,c,t;printf("请输入3...
比较下面两个代码的区别:
题目:输入3个整数,要求从小到大输出;
第一段:
#include<stdio.h>
int main()
{
int a,b,c,t;
printf("请输入3个整数:\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
t=b;
b=a;
a=t;
}
else if(a>c)
{
t=c;
c=a;
a=t;
}
else if(b>c)
{
t=c;
c=b;
b=t;
}
else
printf("%d%d%d\n",a,b,c);
return 0;
}
第二段:
#include<stdio.h>
int main()
{
int a,b,c,t;
printf("请输入3个整数:\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
t=b;
b=a;
a=t;
}
if(a>c)
{
t=c;
c=a;
a=t;
}
if(b>c)
{
t=c;
c=b;
b=t;
}
printf("从小到大输出是:\n");
printf("%d,%d,%d\n",a,b,c);
return 0;
}
第二段代码可以运行出来,第一段不可以,为什么????? 展开
题目:输入3个整数,要求从小到大输出;
第一段:
#include<stdio.h>
int main()
{
int a,b,c,t;
printf("请输入3个整数:\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
t=b;
b=a;
a=t;
}
else if(a>c)
{
t=c;
c=a;
a=t;
}
else if(b>c)
{
t=c;
c=b;
b=t;
}
else
printf("%d%d%d\n",a,b,c);
return 0;
}
第二段:
#include<stdio.h>
int main()
{
int a,b,c,t;
printf("请输入3个整数:\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
t=b;
b=a;
a=t;
}
if(a>c)
{
t=c;
c=a;
a=t;
}
if(b>c)
{
t=c;
c=b;
b=t;
}
printf("从小到大输出是:\n");
printf("%d,%d,%d\n",a,b,c);
return 0;
}
第二段代码可以运行出来,第一段不可以,为什么????? 展开
3个回答
2012-10-01
展开全部
第一段程序错误地将输出语句放在了else子句中,意思是当前面的if条件都不成立时,才输出。
而且排序时三个if都应该执行,但是现在这种情况,只会执行其中的一个,所以排序也不正确。
修改方法,去掉所有的else关键字。
而且排序时三个if都应该执行,但是现在这种情况,只会执行其中的一个,所以排序也不正确。
修改方法,去掉所有的else关键字。
展开全部
1,编程首先一定要做的是让问题简单,避免脑子糊了 ;
2,实现3个数排序,按你思路,则必须要实现两次比较;
3,但你的代码因使用了if,,else,导致至进行一次比较,故不可行 ;
4,解决办法:去掉else即可;
2,实现3个数排序,按你思路,则必须要实现两次比较;
3,但你的代码因使用了if,,else,导致至进行一次比较,故不可行 ;
4,解决办法:去掉else即可;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没看出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询