早教吧 育儿知识 作业答案 考试题库 百科 知识分享

输入一个三位的整数,如果它有且仅有两位数码相同,那么就输出Yes,否则输出No#include<stdio.h>intmain(){inta,b,c,d,e;scanf("%d",&a);b=(a%100);printf("%d",b);c=(a-b)/100;//

题目详情
输入一个三位的整数,如果它有且仅有两位数码相同,那么就输出Yes,否则输出No
#include <stdio.h>
int main()
{
   int a,b,c,d,e;
   scanf("%d",&a);
   b=(a%100);
   printf("%d",b);
   c=(a-b)/100;//百位数字
   d=(b%10);//各位数字
   e=(b-d)/10;//十位数字
   {if(c==d&&d!=e)
   printf("Yes");
            else if(c==e&&c!=d)
       printf("Yes");
       else if(d==e&&e!=c)
           printf("Yes");
   else if(d!=e&&e!=c)        
   printf("No");
   else if(d==e&&e==c)
   printf("No");}
       return 0;
}
▼优质解答
答案和解析
#include 
int main()
{
    int a,b,c,d,e;
    scanf("%d",&a);
    c=a/100%10;//百位
    d=a/10%10;//十位数字
    e=a%10;//个位数字
//这里使用异或判断两个数是否相等,符号的优先级还要注意加上括号
\x09if( ((c^d) ==0 && (c^e)!= 0) || ((c^e) == 0 && (c^d)!= 0) || ((e^d) ==0 && (c^e)!= 0))
\x09{
\x09\x09printf("Yes!\n");
\x09}else
\x09{
\x09\x09printf("No!\n");
\x09}
        return 0;
}

修改了下,这下满足了,仅两位相同才输出yes!