C语言中如何将一个数字的各个位上的数分别提取

请讲解下,C语言中如何将一个数字的各个位上的数分别提取
最新回答
解桑陌

2025-03-31 05:55:36

1、方法一:

我的做法是先将整型转为字符串,再将转后的字符串取需要的字符转为整型,过程说起来复杂,但是写起来只要两行代码就行了~

#include   <stdlib.h>     

#include   <stdio.h>       

int   main(void)     

{     

int   number   =   12345;     

char   string[25];     

itoa(number,   string,   10);     

printf("integer   =   %d   string   =   %s\n",   number,   string);  //将整型转换为字符创 

printf("%d",(int)string[0]-48);   //将字符串转为整型      

return   0;     

}

  

2、方法二:

int a[100];

int i;

假设x为INPUT的数

a[100]用来存放各个数位(0用来存放一共有几位,1用来存放个位,,依次)

i=0;

{a[++i]=x % 10;

x/=10;}while (x);

a[0]=i;