将八进制正整数字符串转换成十进制数,将十进制数转换成十六进制。用C语言编程
时间: 2024-06-13 08:06:09 浏览: 118
以下是将八进制正整数字符串转换成十进制数和将十进制数转换成十六进制的C语言代码:
1.将八进制正整数字符串转换成十进制数
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char octal[20];
int decimal = 0, i, len;
printf("请输入一个八进制正整数字符串:");
scanf("%s", octal);
len = strlen(octal);
for (i = 0; i < len; i++) {
decimal += (octal[i] - '0') * pow(8, len - i - 1);
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
2.将十进制数转换成十六进制
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int decimal, remainder, quotient, i = 1, j;
char hexadecimal[20];
printf("请输入一个十进制正整数:"); scanf("%d", &decimal);
quotient = decimal;
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10)
hexadecimal[i++] = remainder + 48;
else
hexadecimal[i++] = remainder + 55;
quotient = quotient / 16;
}
printf("转换后的十六进制数为:");
for (j = i - 1; j > 0; j--)
printf("%c", hexadecimal[j]);
printf("\n");
return 0;
}
```
阅读全文