#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main(void)
{
printf("请输入三只小猪的体重:");
int pig1, pig2, pig3;
scanf("%d %d %d", &pig1, &pig2 ,&pig3);
if (pig1 > pig2)
{
if (pig1 > pig3)
{
printf("第一只小猪最重,体重为%d\n", pig1);
}
else
{
printf("第三只小猪最重,体重为%d\n", pig3);
}
}
else
if (pig2 > pig3)
{
printf("第二只小猪最重要,体重为%d\n", pig2);
}
else
{
printf("第三只小猪最重要,体重为%d\n", pig3);
}
system("pause");
return EXIT_SUCCESS;
}
把%d换成%f后输出结果就是是0.0000 了
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main(void)
{
printf("请输入三只小猪的体重:");
int pig1, pig2, pig3;
scanf("%f %f %f", &pig1, &pig2 ,&pig3);
if (pig1 > pig2)
{
if (pig1 > pig3)
{
printf("第一只小猪最重,体重为%f\n", pig1);
}
else
{
printf("第三只小猪最重,体重为%f\n", pig3);
}
}
else
if (pig2 > pig3)
{
printf("第二只小猪最重要,体重为%f\n", pig2);
}
else
{
printf("第三只小猪最重要,体重为%f\n", pig3);
}
system("pause");
return EXIT_SUCCESS;
}
一开始我也不知道,下面的链接可以告诉我们scanf函数是怎么处理接收的数据的。
https://blog.csdn.net/weixin_43716338/article/details/112174412
那肯定啊,你定义的变量是int类型,然后输入你使用%f,编译器将其全都转换为浮点数0.0000了。如果非要使用%f格式化输入话,将变量改为double类型即可。