看到很多人写的这个代码有问题,自己就胡写了一下,有问题请指出来,大家一块进步
话不多说直接上代码
#include "stdio.h"
int main() {
int a[11] = {3, 4, 5, 7, 12, 25, 43, 65, 65, 312};
int index, b;
printf("请输入一个数字");
scanf("%d", &b);
//输入的数字大于等于倒数第二个元素
if (b >= a[9]) {
a[10] = b;
for (int i = 0; i < 11; i++) {
printf("%d\t", a[i]);
}
}
//输入的数字小于倒数第二个元素
if (b < a[9]) {
for (int i = 0; i < 10; i++) {
if (b < a[i]) {
//找出第一个大于输入数字的下表
index = i;
break;
}
}
//倒叙将元素依次往后移动
for (int i = 11; i >= index; i--) {
//如果下标等于定位到的第一个元素 则将输入的赋给当前下标
if (i == index) {
a[i] = b;
break;
}
a[i] = a[i - 1];
}
//打印输出
for (int i = 0; i < 11; i++) {
printf("%d\t", a[i]);
}
}
}