数位遍历方式打印出一个整数在不同进制下的每一位

C语言 用数位遍历方式 打印出一个整数在不同进制下的每一位

循环分for循环和while循环, 我们常用for循环做遍历, 以下是for循环所涉及的六大遍历用法:

六大遍历

  1. 数字遍历
    for (i = a; i < b; i++)
    i 完成了对数字 [a,b) 之间的遍历

  2. 数组遍历
    for(i = 0; i < n; i++)
    a[i] 完成了对数组 a 的遍历

  3. 数位遍历(回归树 进制转化)
    for(i = n; i; i /= m)
    i % m 完成了 m 进制下对 n 每一位的遍历

  4. 字符串遍历
    for(i = 0; str[i]; i++)
    str[i] 完成了对字符串 str 的遍历

  5. 链表遍历
    for(cur = head; cur; cur = cur -> next)
    cur 完成了对链表 head 的遍历

  6. 容器遍历
    for(iter = v.begin(); iter != v.end; iter++)
    迭代器 iter 完成了对容器 v 的遍历*/

以下采用数位遍历方式打印的

#include 
#include 

#pragma warning(disable:4996)

// 输出一个整数的每一位
int main1(){
     
	int n = 12345;

	int i;
	for (i = n; i; i /= 10){
     
		printf("%d ", i % 10);
	}

	system("pause");
	return 0;
}
// 二进制下的每一位
int main2(){
     

	int n =  1048576;

	int i;
	for (i = n; i; i /= 2){
     
		printf("%d\n", i % 2);
	// 000000000000000000001 原数是20 个0 前面一个1 => 2^20
	}

	system("pause");
	return 0;
}
// 打印16 进制下的每一位
int main3(){
     

	int n = 1048575;

	int i;
	for (i = n; i; i /= 16){
     
		printf("%X ", i % 16);// 五个15 全F
	}

	system("pause");
	return 0;
}

你可能感兴趣的:(编程题,c语言)