| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖, 1 人收藏
标题:大师们,帮我看看我写的程序错在哪啊?
只看楼主 加入收藏
后生
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-4-27
结帖率:0
收藏(1)
已结贴  问题点数:10 回复次数:9 
大师们,帮我看看我写的程序错在哪啊?
#include<stdio.h>
void main()
{
    int num1,num2,result;
    char op;
    printf("请输入num1,num2的值:");
    scanf("%d,%d",&num1,&num2);
    printf("请输入运算符,只能在(+、-、%、*、/)中选择:\n");
    scanf("%c",&op);
    switch(op)
    {
    case'+':
        result=num1+num2;
        break;
    case'-':
        result=num1-num2;
        break;
    case'*':
        result=num1*num2;
        break;
    case'%':

        result=num1%num2;
        break;
    case'/':
        if(num2==0)
        {  
             printf("此输入有误!\n");
        }
        else
        {
            result=num1/num2;
            break;
        }
   
    default:
        {
            printf("operator is out of range\n");
            break;
        }
    }

    printf("结果是%d\n",result);
}

        
搜索更多相关主题的帖子: result include 
2011-04-27 20:55
迦襄
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-4-10
收藏
得分:0 
把scanf("%c",&op);中的 %c 改为 %s 就好啦!
2011-04-27 22:09
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:1 
楼上不要误导楼主
正确写法是:scanf(" %c",&op);   // 在 %c前面加一个空格,不然会把 '\n' 读取到 op 里面
2011-04-27 22:20
swtcoffee
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-3-1
收藏
得分:1 
也可以在第一个scanf和第二个scanf间加个 getchar();
2011-04-27 22:43
fu2751653
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:38
专家分:100
注 册:2011-4-11
收藏
得分:1 
都很彪悍啊
2011-04-27 23:16
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
1
下面的break应该放在语句块的外面。
程序代码:
case'/':
        if(num2==0)
        {  
             printf("此输入有误!\n");
        }
        else
        {
            result=num1/num2;  
        }
       break;
    default:
        {
            printf("operator is out of range\n");
        }
          break;

2
scanf("%d,%d",&num1,&num2);
输入的时候, 别忘加逗号

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-27 23:21
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:1 
#include<stdio.h>
void main()
{
    int num1,num2,result;
    char op;
    printf("请输入num1,num2的值:");
    scanf("%d %d",&num1,&num2);
    printf("请输入运算符,只能在(+、-、%、*、/)中选择:");
    scanf(" %c",&op);
    switch(op)
    {
    case'+':
        result=num1+num2; printf("结果是%d\n",result);
        break;
    case'-':
        result=num1-num2; printf("结果是%d\n",result);
        break;
    case'*':
        result=num1*num2; printf("结果是%d\n",result);
        break;
    case'%':

        result=num1%num2; printf("结果是%d\n",result);
        break;
    case'/':
        if(num2==0)
      
        { printf("此输入有误!\n");break;}
        else
        {
            result=num1/num2; printf("结果是%d\n",result);
            break;
        }
   
    default: printf("operator is out of range\n"); break;
      
    }

}
2011-04-27 23:50
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:1 
加个getchar,将输入数字后的回车吃掉。
2011-04-28 07:14
后生
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-4-27
收藏
得分:0 
谢谢指导!
2011-04-29 12:18
迦襄
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-4-10
收藏
得分:1 
回复 3楼 voidx
对不起啦!
2011-05-01 19:00
快速回复:大师们,帮我看看我写的程序错在哪啊?
数据加载中...
 
   



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

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