| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:求帮助!!!我是个新手
只看楼主 加入收藏
qwwe8899
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2012-1-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
求帮助!!!我是个新手
这一段程序我本来是想能一直加减乘除的,可是在运行的时候除了第一个可以出结果,后面的都是第一个结果,请大家帮帮忙 告诉我那
儿错了。高手勿喷,我是新手,我只是对C语言蛮感兴趣。
#include<stdio.h>
void main()
{
    int a,b,d,f;
    char c;
    scanf("%d%c%d",&a,&c,&b);
    switch(c)
    {
    case'+': {f=a+b;printf("%d",f);}break;
    case'-': {f=a-b;printf("%d",f);}break;
    case'/': {f=a/b;printf("%d",f);}break;
    case'*': {f=a*b;printf("%d",f);}break;
    }
    while(1)
    {

    scanf("%c%d",&c,&d);
    switch(c)
    {
    case'+': {f+=d;printf("%d",f);}break;
    case'-': {f-=d;printf("%d",f);}break;
    case'/': {f/=d;printf("%d",f);}break;
    case'*': {f*=d;printf("%d",f);}break;
    }
    printf("%d",f);
    }
}
搜索更多相关主题的帖子: void include C语言 
2012-01-08 13:32
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:3 
逻辑错误。while(1)想循环运行的,可是你只用scanf()获取过一次数据。
如果想多次运算,请把scanf()置入while()循环体中。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-01-08 14:05
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:3 
程序代码:
#include
void main()
{
    int a,b,d,f;
    char c;
    scanf("%d%c%d",&a,&c,&b);
    switch(c)
    {
       case'+': {f=a+b;printf("%d",f);}break;
       case'-': {f=a-b;printf("%d",f);}break;
       case'/': {f=a/b;printf("%d",f);}break;
       case'*': {f=a*b;printf("%d",f);}break;
    }
    while(1)
    {
        getchar();
        scanf("%c%d",&c,&d);
        switch(c)
        {
            case'+': {f+=d;printf("%d",f);}break;
            case'-': {f-=d;printf("%d",f);}break;
            case'/': {f/=d;printf("%d",f);}break;
            case'*': {f*=d;printf("%d",f);}break;
        }
    }
}
根据你的改的。可以连续运算
2012-01-08 14:51
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
我也是新手,给你个建议数据类型改成float,输出格式用%g。
2012-01-08 14:52
qq267165295
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-1-6
收藏
得分:3 
同2楼
2012-01-08 15:00
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
#include<stdio.h>
void main()
{
    int a,b,d,f;
    char c;
    scanf("%d %c%d",&a,&c,&b);   // %c前加个空格
    switch(c)
    {
    case'+': {f=a+b;printf("%d",f);}break;
    case'-': {f=a-b;printf("%d",f);}break;
    case'/': {f=a/b;printf("%d",f);}break;
    case'*': {f=a*b;printf("%d",f);}break;
    }
    while(1)
    {

    scanf(" %c%d",&c,&d);      // %c前加个空格
    switch(c)
    {
    case'+': {f+=d;printf("%d",f);}break;
    case'-': {f-=d;printf("%d",f);}break;
    case'/': {f/=d;printf("%d",f);}break;
    case'*': {f*=d;printf("%d",f);}break;
    }
    printf("%d",f);  //把这个输出语句去掉 就能无限运算下去。
    }
}

注意输入格式。int型相除会舍掉小数部分。

梅尚程荀
马谭杨奚







                                                       
2012-01-08 21:26
我爱胡萝卜
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2011-10-3
收藏
得分:3 
想问下。。while(1){}是什么意思?反复运行??
2012-01-08 22:27
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:3 
while()括号里面不为0就执行{}里面的代码,为0就不执行{}里的代码
2012-01-08 22:55
qwwe8899
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2012-1-8
收藏
得分:0 
谢谢 各位了 小第不胜感激啊
2012-01-09 10:54
qwwe8899
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2012-1-8
收藏
得分:0 
为什么前面加个空格就能运算了?求解答啊
2012-01-09 10:59
快速回复:求帮助!!!我是个新手
数据加载中...
 
   



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

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