鱼C论坛

 找回密码
 立即注册
查看: 5145|回复: 8

[已解决]printf输出的结果后面总是带0.00

[复制链接]
发表于 2022-3-21 11:14:12 | 显示全部楼层    本楼为最佳答案   
本帖最后由 C丁洞杀O 于 2022-3-21 13:15 编辑
电控渣 发表于 2022-3-21 12:39
问题是。。。
输入 1 10 0
输出 10 zero error0.00


这个主要的原因是因为,他仍然输出了result ,而 result == 0 所以他会输出0.00 ,想要修改这个问题,那么就要吧最后一句加入else里面,最好是吧

  1. if (i == 4 && k == 0)
复制代码
这样可以最大程度的减少向123这种k可以为0的情况。
下面是可以用的,你试试吧,是不是这种。

  1. #include <stdio.h>

  2. int main(){
  3.         int i;
  4.         double j,k,result;
  5.        
  6.         scanf("%d %lf %lf",&i,&j,&k);
  7.        
  8.         if(k == 0){
  9.                 printf("%d zero error",(int)j);
  10.                 return 0;
  11.         }else{
  12.                 switch (i) {
  13.                         case 1:
  14.                                 result = j + k;
  15.                                 break;
  16.                         case 2:
  17.                                 result = j - k;
  18.                                 break;
  19.                         case 3:
  20.                                 result = j * k;
  21.                                 break;
  22.                         case 4:       
  23.                                 result = j / k;
  24.                                 break;
  25.                         default:
  26.                                 printf("%d error",i);
  27.                                 break;
  28.                 }
  29.         }
  30.        
  31.         printf("%.2f",result);
  32.        
  33.         return 0;
  34.        
  35. }
复制代码


希望对你有帮助,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-13 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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