输入10个有序的数,保存到数组中,再输入一个数,> 插入到这10个数,保存有序。
分析:
1.定义一个保存11个元素的数组,a[11]
2.输入10个有序(从小到大)的数a[0]到a[9]
3.输入要插入的数num
4.遍历数组中前10个数。
5.如果num小于数组中某个元素,说明找到我们插入的>位置。
6.把这个位置以及后的元素往后一位
7.在该位置放入num
8.如果没有位置,把这个元素最后一个。
9.打印
1 #include <stdio.h> 2 3 int main() 4 { 5 int a[11] = {0}, num, i; 6 puts("请输入10个从小到大有序的数:"); 7 for(i=0; i<10; i++){ 8 scanf("%d", &a[i]); 9 } 10 puts("请输入num:"); 11 scanf("%d", &num); 12 for(i=0; i<10; i++){ 13 if(num<a[i]){ 14 int j; 15 for(j=10; j>i; j--){ 16 a[j] = a[j-1]; 17 } 18 a[i] = num; 19 break; 20 } 21 } 22 if(i==10) 23 a[10] = num; 24 for(i=0; i<11; i++){ 25 printf("%d ", a[i]); 26 } 27 putchar('\n'); 28 }
浙公网安备 33010602011771号