C语言将10进制转换成8进制怎么做?

题目描述:

给定一个正整数,写出它的 8 进制表示。
输入描述:

多组输入,输入的第一行为一个正整数 n,表示接下来有 n 组数据,每一行为 1 个正整数 a (0 < a <= 10000)。
输出描述:

对于每一组数据,求出 a 的 8 进制表示法。
样例输入:

2

5

10
样例输出:

5

12

1

1个回答

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

#include "stdio.h"

#define MAX 100

int main()
{
    int ans[MAX];
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        int a;
        scanf("%d", &a);
        int base = 1;
        ans[i] = 0;
        while (a > 0)
        {
            ans[i] += base * (a % 8);
            a /= 8;
            base *= 10;
        }
    }
    for (int i = 0; i < n; i++)
        printf("%d\n", ans[i]);
    return 0;
}

图片说明

1
weixin_43896589
weixin_43896589 感谢大神!!!
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!