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

我试了试好像不能,请问怎么做才能用a[n]来代表a数字的n+1位数字啊,是要转化一下类型之类的吗... 我试了试好像不能,请问怎么做才能用a[n]来代表a数字的n+1位数字啊,是要转化一下类型之类的吗 展开
 我来答
yzviolet
2014-11-12 · TA获得超过2578个赞
知道大有可为答主
回答量:1196
采纳率:0%
帮助的人:1006万
展开全部
求 int 类型 x 的第n位就是 x 除以 10 的 n - 1 次方的商再模 10。

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

你可以把过程写成一个函数调用。
这是数学问题,跟语言、类型无关。
MA_XILAI
2014-11-12
知道答主
回答量:12
采纳率:0%
帮助的人:5.7万
展开全部

这样试:


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


if (n<32) //一个int型按32位算
{
    bool result = val & (1<<n)
    if (result)
    {
        //从低往高位的第n+1位是1
    }
    else
    {
        //从低往高位的第n+1位是0
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨点潇香
2014-11-12 · TA获得超过609个赞
知道小有建树答主
回答量:671
采纳率:0%
帮助的人:450万
展开全部
你可以用a[n]来存储,但是a数组中的成员需要另外赋值,比如说a[0]代表整型数a的个位,且a为三位数,那么a[0]=a%100,其它的情况以此类推,可以试着多定义几个变量,用循环语句实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
358097271
2014-11-12 · TA获得超过165个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:168万
展开全部

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

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

没运行过 自己试试

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式