| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1454 人关注过本帖
标题:求助,看了两个下午也看不出原因,
只看楼主 加入收藏
xiaomiking
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:230
专家分:130
注 册:2009-4-2
收藏
得分:2 
等坐到电脑前了,好好看看

If you want something , just do it ,and it`s a long time !
2011-02-14 20:52
a563622106
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2011-2-14
收藏
得分:0 
被调用函数kuo_pang()好像没办法带返回值回调用函数main(),我把kuo_pang()的return suan1_pang(c,k,a[i]);改成return 5;  可是在main()里面的k【l】的值依然是0;我就是这个不知道错哪了
2011-02-14 21:19
a563622106
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2011-2-14
收藏
得分:0 
已经坐了两个下午了,实在没办法才来求助的
2011-02-14 21:21
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:2 
先占个位,在看。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-02-14 22:18
cdutzh101
Rank: 2
等 级:论坛游民
帖 子:43
专家分:64
注 册:2009-8-20
收藏
得分:2 
学习了。我都学那么久了还没弄清楚,努力
2011-02-14 22:38
a563622106
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2011-2-14
收藏
得分:0 
希望能帮我快点解决,不然我这程序就算失败作了
2011-02-14 23:14
caoweizhong
Rank: 2
等 级:论坛游民
帖 子:19
专家分:65
注 册:2011-1-22
收藏
得分:2 
在vs2010中通过:
#include "stdafx.h"
#include <iostream>
double suan1_pang(char a[],double b[],char c);
double shu_pang(int z[],int y);
double kuo_pang(char a[],int b[]);

using namespace System;

int main(array<System::String ^> ^args)
{int i,j,l,x,y,z[10]={0},d[10]={0};
    double k[20]={0};
    char a[100]=" ",c[19]=" ";
    gets(a);
    for(y=x=l=-1,i=0;a[i]!='=';i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
            for(j=0;j<=9;j++)
            {
                if(a[i]-48==j)
                {
                    y++;
                    z[y]=j;
                }
            }
            if(a[i+1]=='+'||a[i+1]=='-'||a[i+1]=='*'||a[i+1]=='/'||a[i+1]=='^'||a[i+1]=='=')
            {
            k[++l]=shu_pang(z,y);printf("%.2f\n",k[l]);y=-1;
            if(a[i+1]=='=')
                c[++x]=a[i+1];
            }
        }
        else if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/'||a[i]=='^'||a[i]=='{'||a[i]=='['||a[i]=='(')
        {
            if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/'||a[i]=='^')
            c[++x]=a[i];
            if(a[i]=='{'||a[i]=='['||a[i]=='(')
            {   
                d[1]=i+1;
                k[++l]=kuo_pang(a,d);printf("%d\n",k[l]);
                i=d[1];
            }
        }
        else
            break;
    }
    printf("结果是:%.2lf",suan1_pang(c,k,a[i]));
 
    getchar();
    Console::WriteLine(L"Hello World");
    return 0;
}
double kuo_pang(char a[],int b[])
{
    int i,j,l,x,y,z[10]={0};
    double k[20]={0};
    char c[19]=" ";
    for(y=x=l=-1,i=b[1];a[i]!='}'&&a[i]!=']'&&a[i]!=')';i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
            for(j=0;j<=9;j++)
            {
                if(a[i]-48==j)
                {
                    y++;
                    z[y]=j;
                }
            }
            if(a[i+1]=='+'||a[i+1]=='-'||a[i+1]=='*'||a[i+1]=='/'||a[i+1]=='^'||a[i+1]=='='||a[i+1]=='}'||a[i+1]==']'||a[i+1]==')')
            {
            k[++l]=shu_pang(z,y);printf("%.2f\n",k[l]);y=-1;
            if(a[i+1]=='}'||a[i+1]==']'||a[i+1]==')')
                c[++x]=a[i+1];
            }
        }
        else if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/'||a[i]=='^'||a[i]=='{'||a[i]=='['||a[i]=='(')
        {
            if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/'||a[i]=='^')
            c[++x]=a[i];
            if(a[i]=='{'||a[i]=='['||a[i]=='(')
            {   
                b[1]=i+1;
                k[++l]=kuo_pang(a,b);printf("%d\n",k[l]);
                i=b[1];
            }
        }
        else
            break;
    }
    b[1]=i;
    return suan1_pang(c,k,a[i]);
}
double suan1_pang(char a[],double b[],char c)
{
    int i,j;
    double sum=1;
    for(i=0;a[i]!=c;i++)
    {
        if(a[i]=='^')
        {
            for(j=1;j<=b[i+1];j++)
                sum*=b[i];
                b[i]=sum;
            for(j=i;j<17;j++)
            {
                b[j+1]=b[j+2];
                a[j]=a[j+1];
            }
            i--;
        }
    }
    for(i=0;a[i]!=c;i++)
    {
        if(a[i]=='*'||a[i]=='/')
        {
            if(a[i]=='*')
            {
                b[i]=b[i]*b[i+1];
                for(j=i;j<17;j++)
                {
                    b[j+1]=b[j+2];
                    a[j]=a[j+1];
                }
            }
            if(a[i]=='/')
            {
                b[i]=b[i]*1.0/b[i+1];
                for(j=i;j<17;j++)
                {
                    b[j+1]=b[j+2];
                    a[j]=a[j+1];
                }
            }
            i--;
        }
    }
    for(i=0;a[i]!=c;i++)
    {
        if(a[i]=='+'||a[i]=='-')
        {
            if(a[i]=='+')
            {
                b[i]=b[i]+b[i+1];
                for(j=i;j<17;j++)
                {
                    b[j+1]=b[j+2];
                    a[j]=a[j+1];
                }
            }
            if(a[i]=='-')
            {
                b[i]=b[i]-b[i+1];
                for(j=i;j<17;j++)
                {
                    b[j+1]=b[j+2];
                    a[j]=a[j+1];
                }
            }
            i--;
        }
    }
    return b[0];
}
double shu_pang(int z[],int y)
{
    int i,j,k;
    double sum=0;
    for(i=0;i<=y;i++)
    {
        k=1;
        for(j=1;j<=y-i;j++)
        {
            k*=10;
        }
        sum+=z[i]*k;
    }
    return sum;
}
2011-02-15 10:14
a563622106
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2011-2-14
收藏
得分:0 
楼上的哥哥,我用的是VS2008,而且我是用C写的,不是C++;我把你这个复制进去之后运行不了
错误    1    fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?    e:\e_code\优美\优美\shi.c    179
出现上面的这个错误。
其实我最想知道的就是,为什么kuo_pang()无法带返回值给main()
2011-02-15 13:16
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
你觉得那里错了 你把你解决不了的问题给我们
这样的代码轰炸  谁也受不了的

                                         
===========深入<----------------->浅出============
2011-02-15 13:31
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:2 
算法太差了吧,怎么那么长?我的计算器比你短多了,你这么长一串还没有开方、乘方……重新写一次把
2011-02-15 14:27
快速回复:求助,看了两个下午也看不出原因,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039179 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved