0019 将一组数据存放在一维数组中,并将他们排好序,从键盘输入一个数,要求按原来的顺序将它插入到数组合适的位置上。
作者:互联网
问题描述:
将一组数据存放在一维数组中,并将他们排好序,从键盘输入一个数,要求按原来的顺序将它插入到数组合适的位置上。
代码展示:
1 #include<stdio.h> 2 void BubbleSort(int a[], int n); 3 int main(){ 4 int a[10] = {20, 12, 60, 94, 82, 45, 66}; 5 int count = 7; 6 int inputNum; //要插入的变量 7 int i; //循环变量 8 printf("原始序列为:\n"); 9 for(i=0;i<count;i++){ 10 printf("%d ",a[i]); 11 } 12 BubbleSort(a,count); //对原始序列冒泡排序 13 printf("\n排序后的序列为:\n"); 14 for(i=0;i<count;i++){ 15 printf("%d ",a[i]); 16 } 17 printf("\n请输入要插入的数字:"); //插入新元素 18 scanf("%d",&inputNum); 19 for(i=count-1;i>=0;i--){ //插入到合适位置 20 if(a[i]>inputNum){ 21 a[i+1] = a[i]; 22 }else{ 23 a[i+1] = inputNum; 24 count ++; 25 break; 26 } 27 } 28 printf("\n插入元素后的序列为:\n"); 29 for(i=0;i<count;i++){ 30 printf("%d ",a[i]); 31 } 32 33 return 0; 34 } 35 void BubbleSort(int a[], int n){ 36 int i,j; 37 int flag; 38 int temp; 39 for(i=0; i<n; i++){ 40 flag = 0; 41 for(j=1;j<n-i;j++){ 42 if(a[j-1]>a[j]){ 43 temp = a[j-1]; 44 a[j-1] = a[j]; 45 a[j] = temp; 46 flag = 1; 47 } 48 } 49 if(flag == 0){ 50 return; 51 } 52 } 53 }
运行截图:
标签:20,int,排好序,0019,插入,inputNum,数组,printf 来源: https://www.cnblogs.com/cendy/p/code_19.html