当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 字符串 非暴力for循环法(内附C语言代码)

字符串 非暴力for循环法(内附C语言代码)

2018年04月09日  | 移动技术网IT编程  | 我要评论

拼多多商家登录,医科大学总医院,公差符号

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:


00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

输入格式
本试题没有输入。

输出格式

输出32行,按从小到大的顺序每行一个长度为5的01串。

样例输出

00000
00001
00010
00011
<以下部分省略>


除非实在做不出来,不然我一般不会看题目自带的锦囊的,这也导致我在看到网上的“标准答案”的时候大吃一惊

 

先讲锦囊和网上几乎全部的解,就是五层for循环每个数字,想知道的朋友随便百度就行了

 

我自己看到这个题的时候,可能因为上过网络基础的课,第一反应就是本题是考察我们对二进制的理解

输出32行就是0-31的排序输出二进制(直到看到网上的代码前我也一直这样认为)

因为本题比较简单我这样说思路上应该能理解了,我就直接贴我的代码吧

#include
#include                                   /*转换二进制函数头文件*/
int main()
{
	int i;
	char Binary[6];				    /*转换储存数组,多生命一个存放结束符*/
	for(i=0;i<32;i++)
	{
		itoa(i,Binary,2);		    /*第一个参数是要转换的数,第二个是储存的数组,第三个是转换的进制*/
		printf("%05s\n",Binary);            /*不够5个数的前面补0*/
	}
	return 0;
}

本题暴力for循环和二进制排序各有优点,有些刚学C的可能记不住二进制的头文件和函数,但是暴力for循环只是很简单的逻辑算法

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网