鱼C论坛

 找回密码
 立即注册
查看: 1781|回复: 12

[已解决]能不能问一下这种情况怎么解决?

[复制链接]
发表于 2022-8-22 21:25:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想做四则运算的那个课后作业,我的代码是这样的
#include<stdio.h>

int main()
{
        float a, b;
        char c;

        printf("please enter the number you want to calculate:");
        scanf("%.2f %.2f", &a, &b);

        getchar();

        printf("please enter the algorithm you want to apply:");
        scanf("%c", &c);

        switch (c)
        {
                case '+' : printf("The result is a + b!\n"); break;
                case '-' : printf("The result is a - b!\n"); break;
                case '*' : printf("The result is a * b!\n"); break;
                case '/' : printf("The result is a / b!\n"); break;
                default : printf("Are you looking for trouble?\n");
        }
        return 0;
}
gcc运行后,是这样显示的(见图片)请问怎么解决
最佳答案
2022-8-22 21:49:24
#include<stdio.h>

int main()
{
        float a, b;
        char c;

        printf("please enter the number you want to calculate:");
        scanf("%f", &a);
        scanf("%f", &b);

        getchar();

        printf("please enter the algorithm you want to apply:");
        scanf("%c", &c);

        switch (c)
        {
                case '+' : printf("The result is %.2f!\n",a + b); break;
                case '-' : printf("The result is %.2f!\n",a - b); break;
                case '*' : printf("The result is %.2f!\n",a * b); break;
                case '/' : printf("The result is %.2f!\n",a / b); break;
                default : printf("Are you looking for trouble?\n");
        }
        return 0;
}

首先出现了这个,是正常的我输入了5 8

首先出现了这个,是正常的我输入了5 8

再按enter就出现了这个

再按enter就出现了这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-22 21:30:15 | 显示全部楼层
scanf和printf的用法是不一样的
这是scanf的用法
https://cplusplus.com/reference/cstdio/scanf/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:33:22 | 显示全部楼层
人造人 发表于 2022-8-22 21:30
scanf和printf的用法是不一样的
这是scanf的用法
https://cplusplus.com/reference/cstdio/scanf/

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 21:36:36 | 显示全部楼层
switch (c)
{
case '+' : printf(“The result is a + b!\n”); break;
case '-' : printf(“The result is a - b!\n”); break;
case '*' : printf(“The result is a * b!\n”); break;
case '/' : printf(“the result is a / b!\n”); break;
default : printf(“你在寻找麻烦吗?\n”);
}
printf(“The result is %g!\n”, a + b);//要格式输出
输出错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-22 21:45:23 | 显示全部楼层
#include<stdio.h>

int main()
{
        float a , b                               ;
        char c                                    ;

        printf("please enter your expression : ") ;
        scanf("%f%c%f", & a , & c , & b)          ;
        switch (c) {
                case '+' : printf("The result is %.2f\n" , a + b) ; break                                                        ;
                case '-' : printf("The result is %.2f\n" , a - b) ; break                                                        ;
                case '*' : printf("The result is %.2f\n" , a * b) ; break                                                        ;
                case '/' : if(b != 0) printf("The result is %.2f\n" , a / b) ; else printf("error : divide by zero !\n") ; break ;
                default  : printf("Are you looking for trouble ?\n")                                                             ;
        }
}
        编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

D:\[00.Exerciese.2022]\C>x
please enter your expression : 8+5
The result is 13.00

D:\[00.Exerciese.2022]\C>x
please enter your expression : 8/5
The result is 1.60

D:\[00.Exerciese.2022]\C>x
please enter your expression : 8/0
error : divide by zero !

D:\[00.Exerciese.2022]\C>x
please enter your expression : 3^3
Are you looking for trouble ?

D:\[00.Exerciese.2022]\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:45:43 | 显示全部楼层

哥,这么改好像不成功
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:47:23 | 显示全部楼层
jackz007 发表于 2022-8-22 21:45
编译、运行实况:

您的意思是我这样的代码是无法正常运行的,无法更正对吗,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 21:48:35 | 显示全部楼层
折折星 发表于 2022-8-22 21:45
哥,这么改好像不成功

是输出有误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-22 21:49:24 | 显示全部楼层    本楼为最佳答案   
#include<stdio.h>

int main()
{
        float a, b;
        char c;

        printf("please enter the number you want to calculate:");
        scanf("%f", &a);
        scanf("%f", &b);

        getchar();

        printf("please enter the algorithm you want to apply:");
        scanf("%c", &c);

        switch (c)
        {
                case '+' : printf("The result is %.2f!\n",a + b); break;
                case '-' : printf("The result is %.2f!\n",a - b); break;
                case '*' : printf("The result is %.2f!\n",a * b); break;
                case '/' : printf("The result is %.2f!\n",a / b); break;
                default : printf("Are you looking for trouble?\n");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 21:52:06 | 显示全部楼层
折折星 发表于 2022-8-22 21:47
您的意思是我这样的代码是无法正常运行的,无法更正对吗,谢谢

       我的意思是,给你一个成功的实例代码,是尽量比照你的代码改写的,你可以自己对比寻找差异,通过实验自己找出问题,这是一种重要的学习机会。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:53:54 | 显示全部楼层
jackz007 发表于 2022-8-22 21:52
我的意思是,给你一个成功的实例代码,是尽量比照你的代码改写的,你可以自己对比寻找差异,通过 ...

谢谢谢谢我憨了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:58:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:59:54 | 显示全部楼层
jackz007 发表于 2022-8-22 21:45
编译、运行实况:

大佬,我悟了!谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 23:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表