读书人

将数分解的有关问题

发布时间: 2012-11-07 09:56:10 作者: rapoo

将数分解的问题
c语言中将一个四位数如1234的每位分开放入数组j[4]中,可以采用如下代码inBuf[i]=1234;k=inBuf[i]/100;
j[0]=k/10;
j[1]=k%10;
k=inBuf[i]%100;
j[2]=k/10;
j[3]=k%10;
那如果是三位数呢?五位数呢?道理何在?


[解决办法]
比如一个无论多少位的数字:num

C/C++ code
#include<stdio.h>int main(){    int num,i = 0;    int inbuf[100];    scanf("%d", &num);    while (num)    {        inbuf[i] = num % 10;        num /= 10;        i ++;    }    for (int j = i - 1; j >= 0; -- j)    {        printf("%d", inbuf[j]);    }    return 0;}
[解决办法]
探讨
c语言中将一个四位数如1234的每位分开放入数组j[4]中,可以采用如下代码
inBuf[i]=1234;
k=inBuf[i]/100; //得到12.34,因为为整数,去掉小数点后面取整数最终得k=12
j[0]=k/10; //得1.2,去因为为整数,去掉小数点后面取整数最终得j[0]=1
j[1]=k%10; //求余的2j[1]=2
下面一样就不一一写了
k=inBuf[i]%100;//
j[2]=k/10; //
j[3]=k%10; //
那如果是三位数呢?五位数呢?道理何在?

[解决办法]
道理就是这么个道理啊,对10取余
[解决办法]
while (n!=0)
{
a[i] = n % 10;
n /= 10;
i++;
}

读书人网 >C语言

热点推荐