标题:新人小白请教大神
只看楼主
幻紫星辉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-7
结帖率:100%
已结贴  问题点数:20 回复次数:6 
新人小白请教大神
#include<stdio.h>
#include<math.h>
int main()
{
    //下面进行简单的加减乘除算法。
    do
    {
   
    printf("请输入你要进行的算法,加法请输入+,减法请输入-,乘法请输入*,除法请输入/\n");
    char a;
    int b,c,d;
    scanf("%c",&a);
    switch(a)
       {
        case('+'):printf("请输入要相加的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b+c;
        printf("%d+%d=%d",b,c,d);
        break;
        
        case('-'):printf("请输入要相减的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b-c;
        printf("%d-%d=%d",b,c,d);
        break;
        
        case('*'):printf("请输入要相乘的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b*c;
        printf("%d*%d=%d",b,c,d);
        break;
        
        case('/'):printf("请输入要相除的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b/c;
        printf("%d/%d=%d",b,c,d);
        break;
        
        default:printf("我只会加减乘除啊,不要难为小学生\n");
        }
    }while(1);

   
 }
//为什么每执行一次就会输出一次default的语句?求解,
搜索更多相关主题的帖子: include 
2017-03-07 13:54
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
不要空白字符的话,scanf("%这里加个空格c",&a);
2017-03-07 14:14
幻紫星辉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-7
得分:0 
回复 2楼 rjsp
不行啊,一直输出default
2017-03-08 12:44
乱步道尔
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-3-6
得分:0 
#include<stdio.h>
#include<math.h>
int main()
{
 char a;
 int b,c,d;
 //下面进行简单的加减乘除算法。
    do
    { printf("请输入你要进行的算法,加法请输入+,减法请输入-,乘法请输入*,除法请输入/\n");
    scanf("%c",&a);
    switch(a)
       { case('+'):printf("请输入要相加的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b+c;
        printf("%d+%d=%d",b,c,d);
        break;  case('-'):printf("请输入要相减的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b-c;
        printf("%d-%d=%d",b,c,d);
        break; case('*'):printf("请输入要相乘的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b*c;
        printf("%d*%d=%d",b,c,d);
        break; case('/'):printf("请输入要相除的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b/c;
        printf("%d/%d=%d",b,c,d);
        break;  default:printf("我只会加减乘除啊,不要难为小学生\n");break;
        }
        break;
    }while (1);
    return 0;
 }
2017-03-08 13:14
乱步道尔
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-3-6
得分:0 
while 前加个break退出来
2017-03-08 13:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
回复 3楼 幻紫星辉
写错了
不要空白字符的话,scanf("这里加个空格%c",&a);
2017-03-08 13:14
zql270
Rank: 2
等 级:论坛游民
帖 子:7
专家分:48
注 册:2017-2-28
得分:0 
因为你前面用的是 do while  所以会至少执行一次,输入的话  会默认执行里面的两次,而第二次默认是空白的,因为你没有输入,所以你可以直接用while  或者把把do while  删除,不要
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{
    //下面进行简单的加减乘除算法。

    printf("请输入你要进行的算法,加法请输入+,减法请输入-,乘法请输入*,除法请输入/\n");
    char a;
    int b,c,d;
    scanf("%c",&a);
    switch(a)
       {
        case('+'):printf("请输入要相加的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b+c;
        printf("%d+%d=%d",b,c,d);
        break;

        case('-'):printf("请输入要相减的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b-c;
        printf("%d-%d=%d",b,c,d);
        break;

        case('*'):printf("请输入要相乘的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b*c;
        printf("%d*%d=%d",b,c,d);
        break;

        case('/'):{
        printf("请输入要相除的两个整数\n");
        scanf("%d %d",&b,&c);
        d=b/c;
        printf("%d/%d=%d",b,c,d);
        }
        break;
        
        default:printf("我只会加减乘除啊,不要难为小学生\n");
        }



 }
2017-03-08 23:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474818-1-1.html




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

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