您的位置:

截取整数c语言,c语言截取数字

本文目录一览:

如何用C语言拆分整数?

将一个整数的各个位分离出来的最简单方法就是模10,取个位数,直到该变为0。

参考代码:

#include stdio.h

void main()

{

int n=0;

scanf("%d", n );

do {

printf("%d\n", n%10 ); //每次输出个位

n/=10 ; //缩小10倍,去除原来的个位。

}while(n);

}

但这整拆分的特点是从后向前输出每一位数。

如果仅是为了输出,还想正向输出每一位数,则可用递归函数来解决。(也可以实现逆向输出)

参考代码:

#include stdio.h

void split_int( int n )

{

if ( n0 )

{

//printf("%d\n", n%10 );//逆向输出,放开这里,关闭下面的printf().即:先输出当前个位,再去高位的数

split_int( n/10 );//先去输出高位的数

printf("%d\n", n%10 ); //再输出当前的个位数

}

}

void main()

{

int n;

scanf("%d", n);

split_int(n);

}

如果想把分离开的数据存储到数组中,则最简单的方法是将整数用sprintf()存储到字符数组中,然后,遍历数组,逐位取出。

参考代码:

#include stdio.h

void main()

{

int n,i;

char str[20];

scanf("%d", n);

sprintf(str,"%d", n);

for( i=0;str[i];i++ ) //正向输出

printf("%c\n", str[i] );

for( i--;i=0;i-- ) //逆向输出

printf("%c\n", str[i] );

}

C语言如何进行取整

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) = 3 ceil(-2.5) = -2 floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数可以用于你的问题。hyh的意见:int x,a,b,c,d;a=x/1000;b=x%1000/100;

c语言如何取整和取余?

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编译器有关。

c语言如何取整数和小数

用以下的代码可以把一个浮点数的整数部分和小数部分分离开来:

#include "stdio.h"

int main()

{double a,pi=3.1415926;

int i;

i=(int)pi;        /*用(int)就可以取出浮点数的整数部分*/

a=pi-i;            /*浮点数减去整数部分就是纯小数了*/

printf("%.7lf=%d+%.7lf\n",pi,i,a);

system("pause");

return 0;

}