那些4位数

这篇博客介绍了两种方法来生成并输出所有由1,2,3,4四个数字组成的四位数,按照从小到大的顺序排列。第一种方法通过乘法运算将每个位上的数字相加,第二种方法直接使用printf函数打印数字。这两种方法都是遍历四个数字的所有可能组合来实现目标。

有些4位数,只由1,2,3,4这4个数字组成。请编写程序,输出这些4位数,先小后大,每行一个。

两种方法  代码如下:

1

这种方法是输出千位数字i乘1000加上百位数字j乘100加上十位数字k乘10加上个位数字l 。

#include<bits/stdc++.h>
int main(){
	for(int i=1;i<=4;i++)
	{
		for(int j=1;j<=4;j++)
		{
			for(int k=1;k<=4;k++)
			{
				for(int l=1;l<=4;l++)
				{
					cout<<i*1000+j*100+k*10+l<<endl;
				}
			}
		}
	}
}

2

这种方法是直接printf输出千位数字i、百位数字j、十位数字k和个位数字l 。

#include<bits/stdc++.h>
int main(){
	for(int i = 1; i <= 4; i++){
		for(int j = 1; j <= 4; j++){
			for(int k = 1; k <= 4; k++){
				for(int t = 1; t <= 4; t++){
					printf("%d%d%d%d\n", i, j, k, t);
				}
			}
		}
	}
	return 0;
}
### 方法 51单片机控制4位数码管和控制8位数码管有相似之处。首先要进行硬件连接,4位数码管有多个段(通常为a - g和dp),还需要控制哪一位数码管点亮。一般会使用多个I/O端口,一部分用于控制数码管的段选,即控制显示什么数字或字符;另一部分用于控制位选,即控制哪一位数码管显示。例如,可能需要7个I/O端口来控制段选(控制a - g和dp),4个I/O端口来控制位选(控制4位数码管的每一位)。 数码管也分为共阳极和共阴极两种类型。对于共阴极数码管,公共端接地,给相应的段选引脚高电平就可以点亮该段;对于共阳极数码管,公共端接高电平,给相应的段选引脚低电平才能点亮该段。在控制时,需要根据数码管类型来设置电平。 ### 代码示例 以下是一个简单的51单片机控制4位共阴极数码管显示不同数字的代码示例(使用C语言): ```c #include <reg51.h> // 共阴极数码管段码表,对应显示0 - 9 unsigned char code SEG_CODE[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; // 延时函数 void delay(unsigned int time) { unsigned int i, j; for(i = 0; i < time; i++) for(j = 0; j < 123; j++); } void main() { unsigned char i; while(1) { for(i = 0; i < 4; i++) { // 位选,依次选择第i位数码管 switch(i) { case 0: P2 = 0xFE; break; // 选择第1位数码管 case 1: P2 = 0xFD; break; // 选择第2位数码管 case 2: P2 = 0xFB; break; // 选择第3位数码管 case 3: P2 = 0xF7; break; // 选择第4位数码管 } // 段选,显示数字i P0 = SEG_CODE[i]; delay(1); // 延时,防止闪烁 } } } ``` ### 应用 - **时钟显示**:可以用4位数码管显示小时和分钟,例如显示“12:30”,前两位显示小时,后两位显示分钟。 - **温度显示**:在一些简单的温度测量系统中,用4位数码管显示温度值,如“25.6”摄氏度。 - **计数器显示**:用于计数场合,比如记录物品数量、人员进出数量等,4位数码管可以显示0 - 9999的数值。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值