C中在数组中插入数字并排序

问题:有数字1,2,3,4,6,7,8,9,10,请在4和6间插入5!

#include<stdio.h>
void main()
  {
	  
	  int  arr[11]={0,1,2,3,4,6,7,8,9,10};
	  int i,j,s,k,sn,temp;
	  sn=5;
	   printf("front:");
	  for(i=0;i<10;i++)
	  printf("%3d",arr[i]);
	  printf("\n");
	  printf("after:");

	  for(i=0;i<10;i++)
		  if(sn<arr[i])  //当i=5即arr[5]=6时,执行for(s)的循环。
		 {
		  for(s=9;s>=i;s--)
		  arr[s+1]=arr[s];break;//此处必须加中断,否则sn还小于7,8,9,10,会一直循环下去
		  }
	     
	  arr[i]=5;//在i=5时,break就停止了循环,i值不变
	  for(i=0;i<11;i++)
	  printf("%3d",arr[i]);
	       getchar();
  }

注意:此程序中需要重点理解break中断的使用。

猜你喜欢

转载自blog.csdn.net/qq_18671205/article/details/89210094
今日推荐