C语言求绝对值

/*
题目:从键盘输入一个数,判断奇偶性
通过%运算符求得i/2的余数,对j=i%2进行判断
*/
#include <stdio.h>
#include <math.h>
int main (void)
{
int i,j;
scanf("i%d",&i);//键入一个整数i
i=abs(i);
printf("i的绝对值=%d\n",i);//会输出一个垃圾值
j=i%2;
printf("j=%d\n",j);
if (j=0)
printf("偶数");
else

printf("奇数");

return 0;
}
/*开始没打算引入绝对值的,因为不会,运行后发现输入0和所有负数都输出为 奇数 。求教本题绝对值用法,和帮我改一下我的求绝对值思路*/
和帮我改一下 求奇偶性思路

有。C语言求绝对值的函数为abs( x )与fbs( x ),abs( x )包含于stdlib.h,且两者均包含于math头文件之下。

1、abs( x )函数

格式:int abs( int i );

作用:求整型数的绝对值

例子:

#include<stdio.h>

#include <stdlib.h>

#include<math.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 );

作用:求浮点数的绝对值

例子:

#include<stdio.h>

#include<math.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]

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-15

if中的 j=0 改为 j==0,修改后的代码:

/*
题目:从键盘输入一个数,判断奇偶性
通过%运算符求得i/2的余数,对j=i%2进行判断
*/
#include <stdio.h>
#include <math.h>
int main ()
{
    int i, j;
    scanf("%d", &i); /*这里也改一下,去掉i*/
    i = abs(i);
    printf("i的绝对值=%d\n", i);
    j = i % 2;

    if (j == 0) /*这里改一下,加一个=*/
        printf("偶数\n");
    else
        printf("奇数\n");
    return 0;
}

本回答被提问者采纳
第2个回答  2015-07-17
#include <stdio.h>
#include <math.h>
int main ()
{
int i,j;
scanf("%d",&i);//键入一个整数i
if(i<0)i=-i;//求i的绝对值
printf("i的绝对值=%d\n",i);//会输出一个垃圾值
j=i%2;
printf("j=%d\n",j);
if (j==0)
printf("偶数");
else
printf("奇数");

return 0;
}
可以不用abs函数
第3个回答  2015-07-17
自己写一个吧。
if (i < 0) i = -1;
相似回答