
求助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;
} 展开
从键盘输入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;
} 展开
4个回答
展开全部
有两种改法:
第一种是
将double 改为float 数据类型的声明
并将printf() 与scanf()的函数里的%d 改为%f
第二种改法是
依然保留double 数据类型声明
scanf()的函数里的%d 改为 %lf
printf()的函数里的%d 改为 %f或%lf
总的来说就是输入与打印的数据说明写错了
第一种是
将double 改为float 数据类型的声明
并将printf() 与scanf()的函数里的%d 改为%f
第二种改法是
依然保留double 数据类型声明
scanf()的函数里的%d 改为 %lf
printf()的函数里的%d 改为 %f或%lf
总的来说就是输入与打印的数据说明写错了
展开全部
改一下数值输入!
printf("Input 3 numbers:\n");
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);
printf("Input 3 numbers:\n");
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把double改成float;
把scanf和printf里面的%d全部改成%f即可
输入-1,-2,-3(注意一定要有逗号)
显示3.00000最大
数据类型没搞清楚。
把scanf和printf里面的%d全部改成%f即可
输入-1,-2,-3(注意一定要有逗号)
显示3.00000最大
数据类型没搞清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、因为是整数,用int就行,不必double
2、输出绝对值最大的数,所以3个printf中的Num1,Num2,Num3应分别改为
num1,num2,num3
其他不用变,另外在输入数时用逗号隔开
2、输出绝对值最大的数,所以3个printf中的Num1,Num2,Num3应分别改为
num1,num2,num3
其他不用变,另外在输入数时用逗号隔开
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询