失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 有一个已经排好序的数组。现输入一个数 要求按原来的规律将它插入数组中

有一个已经排好序的数组。现输入一个数 要求按原来的规律将它插入数组中

时间:2020-10-23 14:49:55

相关推荐

有一个已经排好序的数组。现输入一个数 要求按原来的规律将它插入数组中

代码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]);}

如果觉得《有一个已经排好序的数组。现输入一个数 要求按原来的规律将它插入数组中》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。