早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一个C语言求绝对值的问题?我在VC++6.0平台上编写求一个数的绝对值程序如下:#include<stdio.h>doubleabstr(doublex){if(x<0.0)x=-x;elsex=x;return(x);}main(){doublea,abstr(doublea);printf("Enterrea

题目详情
一个C语言求绝对值的问题?我在VC++ 6.0平台上编写求一个数的绝对值程序如下: #include <stdio.h> double abstr(double x) { if(x<0.0) x=-x; else x=x; return(x); } main() { double a,abstr(double a); printf("Enter real number a please:"); scanf("%1f",&a); printf("abs(%1f)=%1f\n",a,abstr(a)); } 编译和运行都没有问题,可是在执行窗口界面显示结果时却与实际不符合。如下: Enter real number a please:-98.7 abs(-92559631349317831000000000000000000000000000000000000000000000.000000)=9255 9631349317831000000000000000000000000000000000000000000000.000000 Press any key to continue 请高手帮忙解惑!!!
▼优质解答
答案和解析
你的程序 #include double abstr(double x) { if(x<0.0) x=-x; else x=x; return(x); } main() { double a,abstr(double a); printf("Enter real number a please:"); scanf("%1f",&a); printf("abs(%1f)=%1f\n",a,abstr(a)); } 我的改进程序: #include double abstr(double x) { if((x-0.0)<0.0) x=-x; else x=x; return(x); } main() { double a,b; double abstr(double a); printf("Enter real number a please:"); scanf("%lf",&a); b=abstr(a); printf("abs(%lf)=%lf\n",a,b); }