2 qq 34085207 qq_34085207 于 2016.02.26 10:55 提问

运行结果左右不等价,请问什么原因?
c++

要求:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

代码如下:
#include
long output(long b,long i)
{
printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);
}
int main()
{
long int a,b,i;
a=809;
for(i=10;i {
b=i*a+1;
if(b>=1000&&b<=10000&&8*i=100)
output(b,i);
}
}

运算结果为:9709/12=809*12+1
以上结果左右不等价,但是却能运行,请问代码有什么问题???

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.26 11:12

#include "stdio.h"
int main(int argc, char* argv[])
{
    for (int i = 10; i <= 99; i++)
    {
        if (809*i==800*i+9*i+1 && 8*i>=10 && 8*i<=99 && 9*i>99 && 9*i<=999)
            printf("%d", i);
    }
    return 0;
}

没有满足的结果

qq_34085207
qq_34085207   2016.02.26 11:17

@caozhy

0!=1,所以无结果对吧~~那怎样修改能正确运行呢???

caozhy
caozhy   Ds   Rxr 2016.02.26 11:22

b=i*a+1;
这里没有/12的逻辑
9709=809*12+1
成立

qq_34085207
qq_34085207   2016.02.26 11:25

@caozhy
尽然没有/12逻辑,为啥运行结果却出现了这个呢?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!