fatal 发表于 2015-3-19 11:52:47

111

#include <stdio.h>
int main(){
        int j,k,f,i,total;
        float n,p,q;
        char c={' ','+','-','*','/'};
        for (j=1;j<=5;j++){
                i=0;
                scanf ("%d",&n);
        }
        printf("input results ");
        scanf("%d",&n);//结果
        total=0;
        for(i=1;i<=4;i++)
                if ((i<4)||(n!=0))
                        for(i=1;i<=4;i++)
                                if ((i<4)||(n!=0))
                                        for(i=1;i<=4;i++)
                                                if ((i<4)||(n!=0))
                                                        for(i=1;i<=4;i++)
                                                                if ((i<4)||(n!=0)){
                                                                        p=0;q=n;f=1;
                                                                        for (k=1;k<=4;k++)
                                                                                switch(i){
                                                                                case 1: p=p+f*q;f=1;q=n;break;
                                                                                        case 2: p=p+f*q;f=-1;q=n;break;
                                                                                                case 3: q=q*n;break;
                                                                                                        case 4: q=q/n;
                                                                        }
                                                                        if((p+f*q)==n){
                                                                                total++;
                                                                                printf("%d\n",total);
                                                                                for(k=1;k<=4;k++) printf("%f%c",n,c]);
                                                                                printf("%f=%f",n,n);
                                                                        }
                                                                }
                                                                if(total==0){
                                                                        printf("0");
                                                                }
}实在没找到问题,结果就是出不来。。

小甲鱼的二师兄 发表于 2015-3-19 12:09:38

看到这标题就举报了......

ANDES 发表于 2015-3-19 14:29:53

呵呵你这代码是干嘛的。。。。注释呢?

elvo 发表于 2015-3-19 14:30:30

没看逻辑,但这个for嵌套for的有点吓人

haiouda 发表于 2015-3-19 15:05:23

你这是做什么用的,能把题目给出来嘛;
为啥用那么嵌套?

康小泡 发表于 2015-3-21 17:03:58

{:5_99:}看题目还以为是灌水的,以后记得把题目规范一下

月之吟 发表于 2015-3-22 12:13:42

我竟然仔细看完了- -
他的大体意思就是输入五个数字,然后输入一个结果,看这五个数字通过加减乘除(不含括号,考虑*/先算)能否得到结果。有则输出所有可能,没有则输出0。
用n到n存储数字,n存储需要的结果,i数组储存加减乘除的选择。

问题在第8行scanf("%d",&n);中,n为float型所以要用%f........第11行也是..........
还有倒数第几行的那个printf("%f=%f",n,n);最好里面变成"%f=%f\n",不然打出来看着很..........

其他错误还没看出来......

Zhangchi 发表于 2015-3-23 22:55:29

本帖最后由 Zhangchi 于 2015-3-23 22:57 编辑

不懂
页: [1]
查看完整版本: 111