c语言用函数将abcd变成dcba,C语言。ABCD*E=DCBA

96ba9357248c40e8fae07f2fc3f54832.png

Jason333

你这写的。。。 n 初始化值为0,而且一直是0, 所以你这个 if (m * e == n)肯定不会成立有两种方法:第一种就是5个for for(int a = 1; a<= 9; a++) {  // 因为是4位数,所以首位不会出现0

for(int b = 0; b <= 9; b++) {

for(int c = 0; c <= 9; c++) {

for(int d = 1; d<= 9; d++) { //同理

for(int e = 1; e <= 9; e++) {

if((a * 1000 + b * 100 + c * 10 + d) * e == d * 1000 + c * 100 + b * 10 + a                            && a != b && a != c && a != d && b != c && b != d && c != d

&& a != e && b != e && c != e && d != e){

// a,b,c,d,e 应该是不同的数字,可以相同就去了

//....

}

}

}

}

}

}第二种就是你这样, 判断的时候稍微改下for(int m = 1000; m <= 9999; m++) {

for(int e = 1; e <= 9; e++) {

n = m * e;

a1 = n / 1000;

b1 = n / 100 % 10;

c1 = n / 10 % 10;

d1 = n % 10;

a2 = m / 1000;

b2 = m / 100 % 10;

c2 = m / 10 % 10;

d2 = m % 10;

if(a1 == d2 && b1 == c2 && c1 == b2 && d1 == a2

&& a1 != b1 && a1 != c1 && a1 != d1 && b1 != c1 && b1 != d1 && c1 != d1

&& a1 != e && b1 != e && c1 != e && d1 != e){

// a,b,c,d,e 应该是不同的数字,可以相同就去了

//....

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值