首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

将数分解的有关问题

2012-11-07 
将数分解的问题c语言中将一个四位数如1234的每位分开放入数组j[4]中,可以采用如下代码inBuf[i]1234kinB

将数分解的问题
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++;
}

热点排行