c语言如何取整和取余?

Python019

c语言如何取整和取余?,第1张

c语言取整和取余:

示例

public class Demo_1 {undefined

public static void main(String args) {undefined

Scanner sc = new Scanner(System.in)

System.out.print("请输入要判断的数字(五位数):")

int num = sc.nextInt()

sc.close()

//截取最后一位数

int a = num % 10

//截取第一位数

int b = num / 10000

//截取第四位数

int c = num % 100 / 10

//截取第二位数

int d = num / 1000 % 10

System.out.println(a + "," + b + "," + c + "," + d)

boolean b1 = (a == b)

boolean b2 = (c == d)

if(b1 &&b2) {undefined

System.out.println(num + "是回文数")

}else {undefined

System.out.println(num + "不是回文数")

1.直接赋值给整数变量

int i = 3.5或i = (int) 3.5。

这样的方法采用的是舍去小数部分。

2、整数除法运算符‘/’取整

‘/’本身就有取整功能(int / int),可是整数除法对负数的取整结果和使用的C编译器有关。

参与运算量均为整型时,

结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。

printf("%d,%d\n",10/3,-10/3)

printf("%f,%f\n",10.0/3,-10.0/3)

c语言有以下几种取整方法:

1、直接赋值给整数变量。如:

int

i

=

2.5

i

=

(int)

2.5

这种方法采用的是舍去小数部分,可以用于你的问题。

2、c/c++中的整数除法运算符"/"本身就有取整功能(int

/

int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的c编译器有关。

3、使用floor函数。floor(x)返回的是x的整数部分。如:

floor(2.5)

=

2

floor(-2.5)

=

-3

4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:

ceil(2.5)

=

2

floor和ceil对于正数没有区别,但是对于负数结果不同。