如果a是整数:
#include<stdio.h>
#include<math.h>
int a=100,b;
b=abs(a);
printf(“%d”,b);
如果a是浮点数:
#include<stdio.h>
#include<math.h>
float a=99.9;
float b;
b=fabs(a);
printf(“%f”,b);
方法二:自己一个函数表示:
#include <stdio.h>
int abs(int t)
{
if (t>0)
return t;
else
return -t;
}
int main()
{
int t = 0;
scanf(“%d”,&t);
printf(“%d”,abs(t));
return 0;
}
以上两种方法均可以实现求得绝对值。但使用abs函数时,需要将头文件#include<math.h>包含到源文件中。
扩展资料:
在C语言中,绝对值可以用库函数fabs或abs来表示。
fabs表示对double型数据取绝对值。
abs表示对int型数据取绝对值。
函数原型是:double fabs(double x)。
1.
#include<stdio.h>
#include<math.h>
void main()
{
int i,j;
printf(“请输入一个数:\n”);
scanf(“%d”,&i);
//采用函数
j=abs(i);
printf(“%d的绝对值是%d\n”,i,j);
}
2.
#include<stdio.h>
void main()
{
int i,j;
printf(“请输入一个数:\n”);
scanf(“%d”,&i);
//不采用函数
if(i<0)
j=0-i;
else
j=i;
printf(“%d的绝对值是%d\n”,i,j);
}
两种方法,你自己选择
实际上题目就是为了判断输入的正确性而不在于求绝对值,偶觉得还是应该用字符串来检查:
#include<stdio.h>
#define MAX 100
void main()
{
int i, num;
char ch[MAX];
while(1) {
i=0;
num=0;
printf(“\n输入数字: “);
gets(ch);
if(ch[0]<’0’||ch[0]>’9′) {
if(ch[0]!=’-‘||(ch[0]==’-‘&&!ch[1])) {
printf(“\n输入错误!!\n”);
continue;
}
}
if(ch[0]!=’-‘)
num+=(ch[0]-48);
i=1;
while(ch[i]>=’0’&&ch[i]<=’9′) {
num=num*10+ch[i]-48;
i++;
}
if(!ch[i]) {
printf(“该数的绝对值是: %d\n”, num);
return;
}
else {
printf(“\n输入错误!!\n”);
continue;
}
}
}