代码1:判断输入的数组是升序降序
代码二:直接对已有数组进行插入
#include <stdio.h>#include <stdlib.h>//有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。int main(){int a[100];int num;int i;printf("请输入已经排序好的数组!\n");for ( i=0;i<5;i++){scanf("%d",&a[i]);}printf("请输入要插入的数!\n");scanf("%d",&num);if(a[0]>a[1]){//如果是降序 for(int j=0;j<5;j++){if (a[j]<=num){int temp1=a[j];a[j]=num;for(int k=j+1;k<6;k++){int temp2=a[k];a[k]=temp1;temp1=temp2;}break;}}}else if(a[0]<a[1]){// 如果是升序 for(int j=0;j<5;j++){if (a[j]>num){int temp1=a[j];a[j]=num;for(int k=j+1;k<6;k++){int temp2=a[k];a[k]=temp1;temp1=temp2;}break;//(编程错误) }} }for(i=0;i<6;i++)printf("%6d",a[i]);return 0;}
main(){int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("original array is:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insert a new number:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}
如果觉得《有一个已经排好序的数组。现输入一个数 要求按原来的规律将它插入数组中》对你有帮助,请点赞、收藏,并留下你的观点哦!