int arr[100]={1,2,3};
int bit[100]={1,2,3};
int max = 0;
int num = 0;
int index[100]={0};
int i = 0;
int j = 0;
int k = 0;
int len = 0;
int main (void)
{
printf("请输入0-100的数组长度:");
scanf("%d",&len);
for(i=0;i<len;i++)
{
printf("请输入数组元素:");
scanf("%d",&arr[i]);
}
for(i=0;i<len;i++)
if(arr[i]<10)
bit[i]=0;
else if(arr[i]<100)
bit[i]=1;
else if(arr[i]<1000)
bit[i]=2;
else if(arr[i]<10000)
bit[i]=3;
// for(i=0;i<len;i++)
for(index[0]=0;index[0]<len;index[0]++)
for(index[1]=0;index[1]<len;index[1]++)
for(index[2]=0;index[2]<len;index[2]++)
{
if(index[0]!=index[1] && index[1]!=index[2])
{
for(k=0;k<len;k++)
num += arr[index[k]]* (int)pow(10,bit[index[k]]) ;
if(num>=max)
{
max = num;
printf("%d",max);
// for(k=0;k<len;k++)
// printf("%d",arr[index[k]]);
}
}
}
return 0;
}
/*
1.用结构体和位域
定义变量长度节约
2.大量数组数据可以压缩解压
3.用寄存器操作替代部分库函数操作,
用register关键字,浮点数放大100倍变成整数运算,大量数据传输用DMA
*/