| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 408 人关注过本帖
标题:求助,为什么下面的程序运算出来之后不能进行连乘除的运算
只看楼主 加入收藏
mou20111031
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-31
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
求助,为什么下面的程序运算出来之后不能进行连乘除的运算
#include <stdio.h>
#include <stdlib.h>
char quanvoid match(char logo);
int low(void);
int mid(void);
int high(void);

void match(char logo)
{
    if(quan==logo)
    quan=getchar();
    else
    {
        printf("不能匹配\n");
        exit(1);
    }
}
int low(void)
{
    float result=mid();
    while((quan=='+')||(quan=='-'))
        if(quan=='+')
        {
            match('+');
            result+=mid();
            break;
        }
        else if(quan=='-')
        {
            match('-');
            result-=mid();
            break;
        }
        return result;
}
int high(void)
    {
        
        int result;
        if(quan=='(')
        {
            match('(');
            result=low();
            match(')');
        }
        else if(quan>='0'&&quan<='9')
        {
            ungetc(quan,stdin);
            scanf("%d",&result);
            quan=getchar();
        }
        else
        {
            printf("bu识别字符");
            exit(1);
        }
        return result;
    }

int mid(void)
{
    int div;
    int result=high();
    while((quan=='*')||(quan=='/'))
        if(quan=='*')
        {
            match('*');
            result*=high();
            break;
        }
        else if(quan=='/')
        {
            match('/');
            div=high();
            if(div==0)
            {
                printf("除数为0\n");
                exit(1);
            }
            result/=div;
            break;
        }
        return result;
}

//主程序
int main()
{

    int result;
    printf("欢迎使用简单计算器\n");
    printf("请输入需计算的式子\n");
    quan=getchar();
    result=low();
    if(quan=='\n')
        printf("答案是%d\n",result);
    else
    {
        printf("不识别字符");
        exit(1);
    }
    scanf("%d",&result);
    return 0;   
}
搜索更多相关主题的帖子: result include 
2011-10-31 09:21
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:10 

char quanvoid match(char logo);
应写成
char quan;
void match(char logo);


[ 本帖最后由 heroinearth 于 2011-10-31 10:10 编辑 ]
2011-10-31 10:07
mou20111031
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-31
收藏
得分:0 
回复 2楼 heroinearth
其实是我打错了,原来就是
char quan;
void match(char logo);
介个真是不好意思
2011-10-31 18:23
快速回复:求助,为什么下面的程序运算出来之后不能进行连乘除的运算
数据加载中...
 
   



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

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