有一个已经排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中。(c语言)+注释

# include 

int main (void)
{
	int a[11]={1,4,6,9,13,16,19,28,40,100};
	int temp1,temp2,number,end,i,j;
	printf("array a:\n");
	
	for(i=0;i<10;i++)		//此for用来输出每个数字
		printf("%5d",a[i]);
	printf("\n");

	printf("insert data:");
	scanf("%d",&number);	//输入插入的值
	end=a[9];				//最大的数字是a[9]

	if(number>end)			//如果输入的数字大于最大的数字则插在最后面
		a[10]=number;		
	else					
	{
		for(i=0;i<10;i++)	//此for依次将a[0]~a[9],10数字进行比较
		{
			if(a[i]>number)		//如果a[i]大于number则...
			{
				temp1=a[i];
				a[i]=number;	//number顶替a[i]的位置

				for(j=i+1;j<11;j++)		//此for将a[i+1]~a[11]向后移动
				{
					temp2=a[j];
					a[j]=temp1;
					temp1=temp2;
				}
				break;
			}
		}
	}
	printf("Now number a:\n");
	for(i=0;i<11;i++)			//遍历输出最后排序后的值
		printf("%5d",a[i]);
	printf("\n");

	return 0;
}

你可能感兴趣的:(C语言,专升本,山西专升本C语言,c语言)