鱼C论坛

 找回密码
 立即注册
查看: 2078|回复: 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
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         float a, b;
  5.         char c;

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

  9.         getchar();

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

  12.         switch (c)
  13.         {
  14.                 case '+' : printf("The result is %.2f!\n",a + b); break;
  15.                 case '-' : printf("The result is %.2f!\n",a - b); break;
  16.                 case '*' : printf("The result is %.2f!\n",a * b); break;
  17.                 case '/' : printf("The result is %.2f!\n",a / b); break;
  18.                 default : printf("Are you looking for trouble?\n");
  19.         }
  20.         return 0;
  21. }
复制代码

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

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

再按enter就出现了这个

再按enter就出现了这个
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-22 21:30:15 | 显示全部楼层
scanf和printf的用法是不一样的
这是scanf的用法
https://cplusplus.com/reference/cstdio/scanf/
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 21:36:36 | 显示全部楼层
  1. switch (c)
  2. {
  3. case '+' : printf(“The result is a + b!\n”); break;
  4. case '-' : printf(“The result is a - b!\n”); break;
  5. case '*' : printf(“The result is a * b!\n”); break;
  6. case '/' : printf(“the result is a / b!\n”); break;
  7. default : printf(“你在寻找麻烦吗?\n”);
  8. }
复制代码
  1. printf(“The result is %g!\n”, a + b);//要格式输出
复制代码

输出错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

  2. int main()
  3. {
  4.         float a , b                               ;
  5.         char c                                    ;

  6.         printf("please enter your expression : ") ;
  7.         scanf("%f%c%f", & a , & c , & b)          ;
  8.         switch (c) {
  9.                 case '+' : printf("The result is %.2f\n" , a + b) ; break                                                        ;
  10.                 case '-' : printf("The result is %.2f\n" , a - b) ; break                                                        ;
  11.                 case '*' : printf("The result is %.2f\n" , a * b) ; break                                                        ;
  12.                 case '/' : if(b != 0) printf("The result is %.2f\n" , a / b) ; else printf("error : divide by zero !\n") ; break ;
  13.                 default  : printf("Are you looking for trouble ?\n")                                                             ;
  14.         }
  15. }
复制代码

        编译、运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

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

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

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

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

  14. D:\[00.Exerciese.2022]\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

哥,这么改好像不成功
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

您的意思是我这样的代码是无法正常运行的,无法更正对吗,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

是输出有误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

  2. int main()
  3. {
  4.         float a, b;
  5.         char c;

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

  9.         getchar();

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

  12.         switch (c)
  13.         {
  14.                 case '+' : printf("The result is %.2f!\n",a + b); break;
  15.                 case '-' : printf("The result is %.2f!\n",a - b); break;
  16.                 case '*' : printf("The result is %.2f!\n",a * b); break;
  17.                 case '/' : printf("The result is %.2f!\n",a / b); break;
  18.                 default : printf("Are you looking for trouble?\n");
  19.         }
  20.         return 0;
  21. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

       我的意思是,给你一个成功的实例代码,是尽量比照你的代码改写的,你可以自己对比寻找差异,通过实验自己找出问题,这是一种重要的学习机会。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢谢谢我憨了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 21:58:55 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

大佬,我悟了!谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-23 23:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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