鱼C论坛

 找回密码
 立即注册
查看: 1203|回复: 2

为什么输入555时显示1

[复制链接]
发表于 2023-10-25 20:39:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{       
   /*********begin*********/
int a;
scanf("%d",&a);
int b,c,d;
b = a / 100;
c = (a - 100*b) / 10;
d = a % 10;
if (d == b || b == c || d == c && b*d!=c*c )
printf("1");
else
printf("0");
return 0;

   /*********end*********/
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-25 20:40:06 | 显示全部楼层
这段代码的作用是判断输入的三位数是否满足特定条件。如果输入的三位数满足以下条件之一,则输出1,否则输出0:

1. 个位数等于百位数;
2. 百位数等于十位数;
3. 个位数等于十位数,且百位数乘以个位数不等于十位数的平方。

对于输入555,满足第一个条件,即个位数等于百位数,因此输出1。

希望能帮到你!如果有任何疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-26 10:02:53 | 显示全部楼层
首先,我们来分析一下这个C程序。这个程序接收一个三位数的整数输入(存储在变量a中),然后分解这个数字,以便得到百位、十位和个位数字。这些数字分别存储在变量b、c和d中。

然后,程序检查以下三个条件之一是否为真:

个位数字(d)等于百位数字(b)
百位数字(b)等于十位数字(c)
个位数字(d)等于十位数字(c)且百位数字(b)乘以个位数字(d)不等于十位数字(c)乘以十位数字(c)
如果这三个条件中的任何一个为真,程序将打印"1",否则将打印"0"。

现在,让我们来看看为什么输入555时输出1。

当输入555时:

b(百位)= 5
c(十位)= 5
d(个位)= 5
检查上述条件:

d(个位)= b(百位):这个条件为真。
b(百位)= c(十位):这个条件也为真。
d(个位)= c(十位):这个条件为真。
同时,b乘以d不等于c乘以c。因此,所有的条件都为真,所以程序输出1。

所以,输入555时输出1的原因是因为所有的条件都为真。
if (d == b || b == c || d == c && b*d!=c*c )
这里的 && 你可能需要用括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 17:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表