1 题目
/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。
 程序运行结果为:
 a:82 756 71629 5 2034
 b: 8 7 7 5 2
 */
2 思考
简单来说就是取一个数据的最高位。
 一开始的笨方法没有办法判断数据的长度,后来看到了聪明的方法,值得学习
3 探究
3.1 聪明的方法
for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		temp=arr_a[i];
		while(temp>10)
		{
			temp=temp/10;
		}
		arr_b[i]=temp;
	}
3.1 笨方法
for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		if(arr_a[i]<10)
		{
			arr_b[i]=arr_a[i];
		}
		else if(arr_a[i]<100)
		{
			arr_b[i]=arr_a[i]/10;
		}
		else if(arr_a[i]<1000)
		{
			arr_b[i]=arr_a[i]/100;
		}
		else if(arr_a[i]<10000)
		{
			arr_b[i]=arr_a[i]/1000;
		}
		else if(arr_a[i]<100000)
		{
			arr_b[i]=arr_a[i]/10000;
		}
		else //if(arr_a[i]<1000000)
		{
			arr_b[i]=arr_a[i]/100000;
		}	
	}
4 完整代码
/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。
程序运行结果为:
a:82  756  71629   5  2034
b:  8    7      7   5     2
*/
#include <stdio.h>
int main(void)
{
	int i=0;
	int arr_a[]={82 ,756 , 71629 ,  5  ,2034};
	int arr_b[10];
	int temp;
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		temp=arr_a[i];
		while(temp>10)
		{
			temp=temp/10;
		}
		arr_b[i]=temp;
	}
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_a[%d]=%d\t",i,arr_a[i]);
	}
	printf("\n");
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_b[%d]=%d\t",i,arr_b[i]);
	}
	printf("\n");
	return 0;
}

5 自己输入元素,练习printf
/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。数组a的数据从键盘输入
程序运行结果为:
a:82  756  71629   5  2034
b:  8    7      7   5     2
*/
#include <stdio.h>
#define N 4
int main(void)
{
	int i=0;
	int arr_a[N];
	int arr_b[N];
	int temp;
	printf("请输入%d个元素\n",N);
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		scanf("%d",&arr_a[i]);
	}
	
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		temp=arr_a[i];
		while(temp>10)
		{
			temp=temp/10;
		}
		arr_b[i]=temp;
	}
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_a[%d]=%d\t",i,arr_a[i]);
	}
	printf("\n");
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_b[%d]=%d\t",i,arr_b[i]);
	}
	printf("\n");
	return 0;
}

6 求输入元素最低位——拓展题
/*程序将一维数组a中N个元素的最低位取出,保存在一维数组b的对应位置。数组a的数据从键盘输入
程序运行结果为:
a:82  756  71629   5  2034
b:  2    6      9   5     4
*/
#include <stdio.h>
#define N 4
int main(void)
{
	int i=0;
	int arr_a[N];
	int arr_b[N];
	int temp;
	printf("请输入%d个元素\n",N);
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		scanf("%d",&arr_a[i]);
	}
	
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		arr_b[i]=arr_a[i]%10;
	}
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_a[%d]=%d\t",i,arr_a[i]);
	}
	printf("\n");
	for(i=0;i<sizeof(arr_a)/sizeof(int);i++)
	{
		printf("arr_b[%d]=%d\t",i,arr_b[i]);
	}
	printf("\n");
	return 0;
}






![java八股文面试[数据库]——B树和B+树的区别](https://img-blog.csdnimg.cn/e3340931f2e1432eacc7536f91775af0.png)













