DO-WHILE 嵌套循环

时间:2021-02-02 09:44:03

标签: c loops do-while

我使用 do while 循环编写代码,该循环采用正整数 n,然后显示该整数的八进制表示的多项式。使用连续除法,如课程中的二进制转换示例所示。例如,对于 n = 157,程序应输出以下内容:

157 = + (5 * 8^0) + (3 * 8^1) + (2 * 8^2)

当这部分工作正常时,用一个循环“包围”这段代码,从用户那里获取 n 的值,当值为负时退出循环。我用了 ” a" 变量表示余数,"i" 表示 8 的幂,但是在进行嵌套循环时,我没有重复输入 n。请帮助 我的代码是

#include <stdio.h>
#include <math.h>

int main()
{
    setvbuf(stdout, NULL,_IONBF,0 );
    int n, i = 0, a;
    do 
    {
        printf("enter the value of n");
        scanf("%i \n", &n);

        do 
        {
            a = n % 8;
            n /= 8;
            printf("+(%i *8^ %i)", a, i);
            i++;
        } while (n >= 1);
    }while(n>0);
    return 0;
}

0 个答案:

没有答案