#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char octal[100]; // 定义一个字符数组,用于存储输入的八进制数
int decimal = 0; // 定义一个整型变量,用于存储转换后的十进制数
int length = 0;
int i = 0; // 定义两个整型变量,分别用于存储八进制数的长度和循环计数器
printf("请输入一个八进制数: "); // 提示用户输入一个八进制数
scanf("%s", octal); // 读取用户输入的八进制数并存储到字符数组中
length = strlen(octal); // 计算八进制数的长度
for (i = 0; i < length; i++)// 遍历八进制数的每一位数字
decimal += (octal[i] - '0') * pow(8, length - i - 1); // 将八进制数转换为十进制数并累加到decimal变量中
printf("对应的十进制数为: %d", decimal); // 输出转换后的十进制数
return 0;
}
十进制转八进制
#include <stdio.h>
int main()
{
int decimal = 0;
int octal[100];
int i = 0;
int j = 0;
printf("请输入一个十进制数: "); // 提示用户输入一个十进制数
scanf("%d", &decimal); // 读取用户输入的十进制数并存储到整型变量中
while (decimal != 0) // 当十进制数不为0时,执行循环
{
octal[i] = decimal % 8; // 计算十进制数除以8的余数,并将其作为八进制数的最低位
decimal = decimal / 8; // 更新被除数为商
i++; // 增加八进制数的长度
}
printf("对应的八进制数为: "); // 输出转换后的八进制数
for (j = i - 1; j >= 0; j--)// 倒序遍历八进制数的每一位数字
printf("%d", octal[j]); // 输出每一位数字
printf(" "); // 换行
return 0; // 程序正常结束
}
输入一个三角形的三条边长,判断这三条边是否能构成直角三角形,输出计算结果
#include <stdio.h>
int main()
{
double a = 0;
double b = 0;
double c = 0;
scanf("%lf %lf %lf", &a, &b, &c);
if (a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a)
printf("是直角三角形");
else
printf("不是直角三角形");
return 0;
}
十六进制整数ABCDEF对应的十进制整数,所占域宽为15
#include <stdio.h>
int main()
{
int a = 0xABCDEF;
printf("%15d", a);
}
ASCII码
#include <stdio.h>
int main()
{
char arr[] = { 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116, 33 };
int length = sizeof(arr);
int i = 0;
for (i = 0; i < length; i++)
printf("%c", arr[i]);
return 0;
}