第二次博客作业
一.程序运行
二.函数介绍
#include<stdio.h> #include<string.h> #include<stdlib.h> // 10 zhuang 2 void Binary_Exchange(int a) { int arr1[50] = { 0 }; int tmp = 0; unsigned int i; printf("The Binary number is :"); for (i = 0x80000000; i; i >>= 1) { tmp = ((a & i) == i); printf("%d", tmp); } } // 10 zhuang 8 void Octal_Exchange(int m) { int temp = 0; if (m == 0) return; temp = m % 8; Octal_Exchange(m /= 8); printf("%d", temp); } // 10 zhuang 16 int Hexa_Exchange(int a) { int i = 0; int count = 0, temp = 0; char arr[20] = { 0 }; temp = a; while (temp) { arr[i] = temp % 16; temp /= 16; count++; } for (i = 0; i < count; i++) { if (arr[i] > 9) { arr[i] += 7; } arr[i] += '0'; } printf("The Hexa number is :%s\n", arr); return a; }
三.main函数
int main() { int num = 0; char arr[] = { 0 }; int i = 0, size = 0; int n = 0, temp = 0; printf("请输入要转化的数:"); //scanf("%s", &num); gets(arr); size = strlen(arr); printf("请输入该数的进制(2、8、16):"); scanf("%d", &n); for (i = 0; i < size; i++) { if (arr[i] >= '0' && arr[i] <= '9') { temp = arr[i] - '0'; } else if (arr[i] >= 'A' && arr[i] <= 'F') { temp = arr[i] - 'A' + 10; } num = num * n + temp; } Binary_Exchange(num); printf("\n"); printf("The Octal number is :"); Octal_Exchange(num); printf("\nThe Dec number is :%d", num); printf("\n"); Hexa_Exchange(num); printf("\n"); system("pause"); return 0; }
四.思维导图
五.代码互评
#include "Header.h" #include "tr2.c" #include "tr8.c" #include "tr10.c" #include "tr16.c"
这同学调用多个头文件使得代码简洁明了,我没有想到.
六.总结
1.加深了对函数的理解
2.这次代码写的很慢,问了很多人,给了我很多帮助,一路上重复差错