如何编写一个 C 程序,通过实际示例将十进制转换为八进制数?在本次编程中将十进制转换为八进制数之前,我们都知道:
- 十进制数是基数为 10 的数制系统,它使用 0 到 9 之间的数字。
- 八进制数是基数为 8 的数,它们使用 0 到 7 之间的数字。
将十进制数转换为八进制数——首先,将原始值除以 8。然后,将商除以 8。重复相同的过程,直到给定的数字为零。
C 程序将十进制转换为八进制数的示例
这是将十进制数转换为八进制数的最直接、最好的方法。
#include <stdio.h>
int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);
printf("\n Octal Number of a Given Number = %o", number);
return 0;
}
十进制到八进制的输出
Please Enter the Number You want to Convert : 50
Octal Number of a Given Number = 62
将十进制数转换为八进制数示例 2
此将十进制转换为八进制的程序使用 For 循环将用户给定的十进制值转换为八进制值。最后,我们使用另一个 For 循环来打印数组元素。我建议您参考打印数组文章。
#include <stdio.h>
int main()
{
int octalNumber[10], number, i, j;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);
for(i = 0; number > 0; i++)
{
octalNumber[i] = number % 8;
number = number / 8;
}
printf("\n Equivalent Octal Number of a Given Number = ");
for(j = i - 1; j >= 0; j--)
{
printf("%d", octalNumber[j]);
}
return 0;
}
Please Enter the Number You want to Convert : 25
Equivalent Octal Number of a Given Number = 31
将十进制数转换为八进制数示例 3
此程序与上述程序相同。这里,将 For 循环替换为While 循环。
#include <stdio.h>
int main()
{
int octalNumber[10], number, i, j;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);
while(number != 0)
{
octalNumber[i++] = number % 8;
number = number / 8;
}
printf("\n Equivalent Octal Number of a Given Number = ");
for(j = i - 1; j > 0; j--)
{
printf("%d", octalNumber[j]);
}
return 0;
}

使用函数将十进制数转换为八进制数
在此程序中,我们使用函数来分离逻辑。
#include <stdio.h>
long Decimal_to_Octal(int number)
{
long octalNumber = 0, i = 1;
int remainder;
while(number != 0)
{
remainder = number % 8;
number = number / 8;
octalNumber = octalNumber + (remainder * i);
i = i * 10;
}
return octalNumber;
}
int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);
long oct = Decimal_to_Octal(number);
printf("\n Equivalent Octal Number of %d = %ld", number, oct);
return 0;
}
Please Enter the Number You want to Convert : 22
Equivalent Octal Number of 22 = 26
将十进制数转换为八进制数示例 5
这是另一个 C 编程示例,用于将十进制值转换为八进制数。
#include <stdio.h>
#include<math.h>
long Decimal_to_Octal(int number)
{
long octalNumber = 0;
int remainder, count = 0;
while(number != 0)
{
remainder = number % 8;
number = number / 8;
octalNumber = octalNumber + remainder * pow(10, count);
count++;
}
return octalNumber;
}
int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);
long oct = Decimal_to_Octal(number);
printf("\n Equivalent Octal Number of %d = %ld", number, oct);
return 0;
}
Please Enter the Number You want to Convert : 70
Equivalent Octal Number of 70 = 106