C++中怎么能输出一个int型数字的某一位数字啊,可以用a[n]这种吗?

我试了试好像不能,请问怎么做才能用a[n]来代表a数字的n+1位数字啊,是要转化一下类型之类的吗

求 int 类型 x 的第n位就是 x 除以 10 的 n - 1 次方的商再模 10。

例如 int x = 1234;
第一位就是 1234 / 1 % 10
第二位就是 1234 / 10 % 10
第三位就是 1234 / (10 * 10) % 10

你可以把过程写成一个函数调用。
这是数学问题,跟语言、类型无关。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-12

这样试:


假定你要测试的值是int val; 假定你机器上int是32位的.


if (n<32) //一个int型按32位算
{
    bool result = val & (1<<n)
    if (result)
    {
        //从低往高位的第n+1位是1
    }
    else
    {
        //从低往高位的第n+1位是0
    }
}

第2个回答  2014-11-12
你可以用a[n]来存储,但是a数组中的成员需要另外赋值,比如说a[0]代表整型数a的个位,且a为三位数,那么a[0]=a%100,其它的情况以此类推,可以试着多定义几个变量,用循环语句实现
第3个回答  2014-11-12

可以把int型数字 的每一位取出来

int num = 12345;
int tmp = num;
int a[20] = {0};/*由低位到高位储存*/
int i = 0;
while(tmp != 0) 
{
    a[i] = tmp%10;
    i++;
    tmp /= 10;
}

没运行过 自己试试

相似回答