※ 引述《Zoxge (Zoxge)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: Linux
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: GCC
: 问题(Question):
: 有一个一维array,里面随机存了20个1~500之间的数字
: 现在要依序print出1~500之间的数字,但不包含那个一维array里面的内容
: 请问除了下面网址内的方法(检查array中每个index存放的值)之外
: 有什么更快的方法能够解决这个问题呢?
: 谢谢
: 程式码(Code):(请善用置底文网页, 记得排版)
: https://ideone.com/1KIzIo
bool isNumberInArray[501]={0};
for(int i=0;i<20;i++)
{
isNumberInArray[ ARRAY[i] ]=1;
}
for(i=1;i<=500;i++)
{
if( 0 == isNumberInArray[i] )
printf("%d",i);
}
用一个大小为500的bool array纪录哪些数字不用印出来
然后依序把剩下的数字印出来即可