喜牛牛0101 发表于 2021-3-15 15:03:32

求最小数字,打印输出问题

打印最小的输入数字
我想用int 来定义a,b,c但是最后打印的时候结果一直是0,只有用doble才能正常运行,但是也不能输出小数点的数字
请大神帮忙看下哪个代码有问题,谢谢!


#include<stdio.h>
main(){

    double a,b,c;
    double smallest;
    printf("input the first number\n");
    scanf("%f", &a);

    printf("input the second number\n");
    scanf("%f", &b);

    printf("input the third number\n");
    scanf("%f", &c);

   if(a<b){
       if(a<c){
         a=smallest;
       }else{
         c=smallest;
       }
   }else{
       if(b<c){
         b=smallest;
       }else{
         c=smallest;
       }
   }
    printf("The smallest the number is %d\n",smallest);
   
}

洋洋痒 发表于 2021-3-15 15:27:06

要求abc都是整数吗

喜牛牛0101 发表于 2021-3-15 15:34:37

洋洋痒 发表于 2021-3-15 15:27
要求abc都是整数吗

是的,但是我改为int 和%d 输出就变0了

洋洋痒 发表于 2021-3-15 15:35:23

喜牛牛0101 发表于 2021-3-15 15:34
是的,但是我改为int 和%d 输出就变0了

#include<stdio.h>
main(){

    int a,b,c;
    int smallest;
    printf("input the first number\n");
    scanf("%d", &a);   

    printf("input the second number\n");
    scanf("%d", &b);

    printf("input the third number\n");
    scanf("%d", &c);

   if(a<b){
       if(a<c){
         smallest=a;   //赋值的时候应该把变量放左边
       }else{
         smallest=c;
       }
   }else{
       if(b<c){
         smallest=b;
       }else{
         smallest=b;
       }
   }
    printf("The smallest the number is %d\n",smallest);

}

洋洋痒 发表于 2021-3-15 15:36:19

给smallest赋值应该把smallest放在左边

喜牛牛0101 发表于 2021-3-15 15:45:04

洋洋痒 发表于 2021-3-15 15:36
给smallest赋值应该把smallest放在左边

原来是我把赋值的位置搞错了,非常感谢
页: [1]
查看完整版本: 求最小数字,打印输出问题