求助C语言的一道编程题,高手们帮忙解答一下 10

编写一程序实现以下功能:从键盘输入3个整数,输出绝对值最大的数。以下是我编写的源程序,但是结果不正确,只能得50%的分,3个数中有负数时总是输出负数!!错在哪里??我该怎... 编写一程序实现以下功能:
从键盘输入3个整数,输出绝对值最大的数。

以下是我编写的源程序,但是结果不正确,只能得50%的分,3个数中有负数时总是输出负数!!错在哪里??我该怎么修改呀?

#include<stdio.h>
#include<math.h>

int main(void)
{
double num1, num2, num3, Num1, Num2, Num3;

printf("Input 3 numbers:");
scanf("%d,%d,%d", &num1, &num2, &num3);

Num1 = fabs(num1);
Num2 = fabs(num2);
Num3 = fabs(num3);

if (Num1 >= Num2 && Num1 >= Num3)
{
printf("The number with maxinum absolute value is %d.\n", Num1);
}
if (Num2 >= Num1 && Num2 >= Num3)
{
printf("The number with maxinum absolute value is %d.\n", Num2);
}
if (Num3 >= Num1 && Num3 >= Num2)
{
printf("The number with maxinum absolute value is %d.\n", Num3);
}

return 0;
}
展开
 我来答
huguquan
2010-05-27 · TA获得超过248个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:230万
展开全部
有两种改法:
第一种是
将double 改为float 数据类型的声明
并将printf() 与scanf()的函数里的%d 改为%f

第二种改法是
依然保留double 数据类型声明
scanf()的函数里的%d 改为 %lf
printf()的函数里的%d 改为 %f或%lf

总的来说就是输入与打印的数据说明写错了
yqyahoo
2010-05-27 · 超过14用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:44.9万
展开全部
改一下数值输入!
printf("Input 3 numbers:\n");
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxmman
2010-05-27 · TA获得超过146个赞
知道答主
回答量:91
采纳率:100%
帮助的人:91.1万
展开全部
把double改成float;
把scanf和printf里面的%d全部改成%f即可
输入-1,-2,-3(注意一定要有逗号)
显示3.00000最大
数据类型没搞清楚。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
D161234
2010-05-27 · TA获得超过218个赞
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
1、因为是整数,用int就行,不必double
2、输出绝对值最大的数,所以3个printf中的Num1,Num2,Num3应分别改为
num1,num2,num3
其他不用变,另外在输入数时用逗号隔开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式