十进制分别转化为二进制和八进制,第一行输出二进制,下一行输出八进制,求修改。

#include <stdio.h>
#include <stdlib.h>
int main()
{
long long int a,b,c;
scanf("%lld",&a);
do
{
b=a/2;
c=a%2;
a=b;
printf("%lld",c);
if(a/2==0)
{
c=a%2;
printf("%lld\n",c);
}
}
while(a/2!=0);
do
{
b=a/8;
c=a%8;
a=b;
printf("%lld",c);
if(a/8==0)
{
c=a%8;
printf("%lld\n",c);
}
}
while(a/8!=0);
return 0;
}

改不了,得倒序输出
#include<stdio.h>
int main() {
    int i = 0, n,m, a[32],b[32];
    scanf("%d", &n);
    m=n;
    while (n > 0) {
        a[i] = n % 2;
        i = i + 1;
        n = n / 2;
    }
    for (i--; i >= 0; i--)
        printf("%d", a[i]);
    printf("\n");
    i=0;
    while (m > 0) {
        b[i] = m % 8;
        i = i + 1;
        m = m / 8;
    }
    for (i--; i >= 0; i--)
        printf("%d", b[i]);
    printf("\n");
    return 0;
}