重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的程序
成都创新互联公司专业为企业提供茅箭网站建设、茅箭做网站、茅箭网站设计、茅箭网站制作等企业网站建设、网页设计与制作、茅箭企业网站模板建站服务,十年茅箭做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
#include stdio.h
double abstr(double x)
{
if(x0.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 stdio.h
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);
}
1.
#define是替换的意思,所以函数形参也被替换了,所以语法不对
改好了:
#include stdio.h
#define pi 3.1415926
#define r 2.0
double calcuarea(double ) ;
double calcucirum(double ) ;
int main(void)
{
printf("圆的面积是:%f\n", calcuarea(r));
printf("圆的周长是:%f\n", calcucirum(r));
return 0; }
double calcuarea(double R)
{
return(pi*R*R);
}
double calcucirum(double R)
{
return(pi*R*2.0);
}
2.
扬和?的输出是汉字编码,你想要的应该是ascii码
'2'的ascii是50,'a'的ascii是97,他们的和达到了147,不属于ascii的范畴了,当超过127的字符以字符格式输出会按汉字编码方式两个字节结合成一个汉字
字符串以\0结尾,第一次的扬由147,0这两个字节结合
第二次由于在\0前面多了个\n,147不能和另一字符结合,单字节非ascii输出?
3.
#include stdio.h
int main(void)
{
int i,j;
float x,y;
char c;
scanf("%2d%f%f%c%d",i,x,y,c,j);
return 0;
}
为什么结果是无法运行?
可以运行
4.
此时结果是非常长的一串数,非意愿,但是将“%f”换成“%lf”时结果就变成了意愿!
浮点数的内存格式是 符号为+阶码+尾数(左端为高字节)
而double为8字节,float为4字节
当以%lf格式操作的时候没有问题
当以%f格式操作的时候,由于输入的浮点数按float的格式保存在了低4字节,高4字节没有修改,vc的默认值为0xcc,所以double a的实际内存格式为0xcccccccc+符号位+阶码+尾数,这种格式显然是不对的,由于最终阶码非0,所以输出一个极大的浮点数
5.
#include stdio.h
int main(void)
{
printf("%-8s%8s%8s\n","cocks","hens","chicks");
int x=0,y=0,z=0;
while (x20)
x++;
while (y=33)
y++;
z=300-15*x-9*y;
if (100-x-y==z)
printf("%-8d%8d%8d\n",x,y,z);
return 0;
}
我编译运行没有问题
x=20,y=34,z=-306
最后一次不会输出xyz
6.
为什么把 double popu=13;
分解成 doubble popu;
popu=13;运行出现错误?
你写错了doubble多写了个b
#include stdio.h
#include math.h
int main(void)
{double a;
printf("enter areal number please");
scanf ("%lf",a);
printf ("abstr(%lf)=%lf\n",a,fabs(a)); //求绝对值用 fabs();要包含 math.h头文件
return 0;}
有。C语言求绝对值的函数为abs( x )与fbs( x ),abs( x )包含于stdlib.h,且两者均包含于math头文件之下。
1、abs( x )函数
格式:int abs( int i );
作用:求整型数的绝对值
例子:
#includestdio.h
#include stdlib.h
#includemath.h
main( )
{
int a = 1, b = -2 ;
printf("%d的绝对值是%d,%d的绝对值是%d\n", a, abs( a ), b, abs( b ));
}
运行结果为:1的绝对值是1,-2的绝对值是2
2、fabs( x )函数
格式:float fabs( float i ); / double fabs( double x );
作用:求浮点数的绝对值
例子:
#includestdio.h
#includemath.h
main( )
{
float a = 1.4, b = -2.7 ;
printf("%f的绝对值是%f,%f的绝对值是%f\n", a, fabs( a ), b, fabs( b ));
}
运行结果为:1.400000的绝对值是1.400000,-2.700000的绝对值是2.700000
扩展资料:
其他math.h头文件包含函数介绍:
1、 三角函数
double sin(double);正弦
double cos(double);余弦
double tan(double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2,PI/2]
double acos (double); 结果介于[0,PI]
double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。
double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp
double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x,double y);计算x的y次幂
float powf(float x,float y); 功能与pow一致,只是输入与输出皆为单精度浮点数
double exp (double);求取自然数e的幂
double sqrt (double);开平方根
5 、取整
double ceil (double); 取上整,返回不比x小的最小整数
double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
#includestdio.h
int main(void)
{
double a,abstr(double a);
printf("Entering a real number please:\n");
scanf("%lf",a);
printf("abstr(%lf)=%lf\n",a,abstr(a));
}
double abstr (double x)
{
if (x0.0)
x=-x;
else
x=x;
return x;
}