编写一个C语言程序,要求从键盘输入三个整数,并根据对三个数的比较显示如下信息:
(1)如果三个数都不相等则显示0;(2)如果三个数中有二个数相等则显示1;(3)如果三个数都相等,则显示2。#include<stdio.h>intmain(){intx...
(1)如果三个数都不相等则显示0;
(2)如果三个数中有二个数相等则显示1;
(3)如果三个数都相等,则显示2。
#include<stdio.h>
int main()
{
int x,y,z,a;
scanf("%d,%d,%d,",&x,&y,&z);
if(x!=y&&x!=z&&z!=y)
a=0;
else
if(z!=y&&x!=y&&x!=z)
a=1;
else
if(x==y&&y==z)
a=2;
printf("a=%d\n",a);
return 0;
}
为什么错了? 展开
(2)如果三个数中有二个数相等则显示1;
(3)如果三个数都相等,则显示2。
#include<stdio.h>
int main()
{
int x,y,z,a;
scanf("%d,%d,%d,",&x,&y,&z);
if(x!=y&&x!=z&&z!=y)
a=0;
else
if(z!=y&&x!=y&&x!=z)
a=1;
else
if(x==y&&y==z)
a=2;
printf("a=%d\n",a);
return 0;
}
为什么错了? 展开
展开全部
三个数都不相等和三个数都相等,这两个好判断,但是三个数中有两个相等这个情况很多,比较复杂:
因为三个数的关系,只能是上面三种情况,所以判断完三个数都不相等和都相等之后,最后else就是三个数有两个数相等的情况了
因为三个数的关系,只能是上面三种情况,所以判断完三个数都不相等和都相等之后,最后else就是三个数有两个数相等的情况了
追问
编译后无论输出什么数都是0,为什么?
#include
int main()
{
int x,y,z,a;
scanf("%d,%d,%d",&x,&y,&z);
if(x!=y&&x!=z&&y!=z)
a=0;
else
if(x==y&&y==z)
a=2;
else
a=1;
printf("a=%d\n",a);
return 0;
}
追答
没有加{},if匹配不正确,你认真加上{},就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询