牵风 发表于 2021-11-15 22:15:26

麻烦看看还有哪些情况没考虑到

给出五个0-9之间的数字,每个数字只用一次,填入下图的方框,请问怎样填才能使算式得到最大值。
[][][]*[][]=

#include <stdio.h>

int main() {
        int num;
        int a,b,c,d,e;
        int result;
        for(int i=0; i<5; i++) {
                scanf("%d",&num);
        }
        for(int j=1; j<5; j++) {
                for(int k=0; k<5-j; k++) {
                        int temp;
                        if(num>num) {
                                temp=num;
                                num=num;
                                num=temp;
                        }
                }
        }
        a=num,b=num,c=num,d=num,e=num;
        result=(b*100+c*10+e)*(a*10+d);}
        printf("%d ",result);

        return 0;

}

myqf123 发表于 2021-11-15 23:12:19

路过看看

yzzc 发表于 2021-11-16 14:55:15

没问题,先对数组从小到大排序,在进行分组相乘

牵风 发表于 2021-11-16 17:26:27

yzzc 发表于 2021-11-16 14:55
没问题,先对数组从小到大排序,在进行分组相乘

总有几组数据对不上也不知道哪错了

村里小黑 发表于 2021-11-17 10:07:17

牵风 发表于 2021-11-16 17:26
总有几组数据对不上也不知道哪错了

是程序算对了但是不是最大值?还是程序算出的结果不对

轩辕轩殇 发表于 2021-11-18 21:53:35

我也是的

轩辕轩殇 发表于 2021-11-18 21:54:22

也是用数组,方法和能类似,好烦,也有几组对不上

yzzc 发表于 2022-2-25 12:11:34

牵风 发表于 2021-11-16 17:26
总有几组数据对不上也不知道哪错了

结果有误差?
页: [1]
查看完整版本: 麻烦看看还有哪些情况没考虑到