鱼C论坛

 找回密码
 立即注册
查看: 1291|回复: 7

111

[复制链接]
发表于 2015-3-19 11:52:47 | 显示全部楼层 |阅读模式

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

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

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

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

使用道具 举报

发表于 2015-3-19 12:09:38 | 显示全部楼层
看到这标题就举报了......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-19 14:29:53 | 显示全部楼层
呵呵  你这代码是干嘛的。。。。注释呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-19 14:30:30 | 显示全部楼层
没看逻辑,但这个for嵌套for的有点吓人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-19 15:05:23 | 显示全部楼层
你这是做什么用的,能把题目给出来嘛;
为啥用那么嵌套?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-21 17:03:58 | 显示全部楼层
看题目还以为是灌水的,以后记得把题目规范一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-22 12:13:42 | 显示全部楼层
我竟然仔细看完了- -
他的大体意思就是输入五个数字,然后输入一个结果,看这五个数字通过加减乘除(不含括号,考虑*/先算)能否得到结果。有则输出所有可能,没有则输出0。
用n[1]到n[5]存储数字,n[0]存储需要的结果,i数组储存加减乘除的选择。

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

其他错误还没看出来......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-23 22:55:29 | 显示全部楼层
本帖最后由 Zhangchi 于 2015-3-23 22:57 编辑

不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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