规定输入9个元素,排序后,再输入一个数要求按原来排序的规律将它插入数组中。
初始化数组函数:
void assign_value_to_array(int val[])//数组赋值
{int star;//数组开始位printf("请输入%d个数:",num);for(star=0;star<num;star++){scanf("%d",&val[star]);}array_sorting(val);//数组排序
}
对数组值进行排序:
void array_sorting(int val[])
{int flag;//数组当前位置int latter;//后一位int temp;for(flag=0;flag<num-1;flag++)//遍历数组{//后一位与前一位比较for(latter=flag+1;latter<num;latter++){if(val[latter]<val[flag]){temp=val[latter];val[latter]=val[flag];val[flag]=temp;}}}printf("排序后字符串:");display(val);//显示字符串insert_data(val);//插入数值
}
打印数组元素:
void display(int val[])
{int i;for(i=0;i<num+1;i++)//遍历数组{printf("%d ",val[i]);//逐个显示 }printf("\n");
}
插入一个值,并按顺序打印出来:
void insert_data(int val[])
{int input;int ins_point;int ins_aftter;printf("请输入一个数值:");scanf("%d",&input);for(ins_point=0;ins_point<num;ins_point++){if(val[ins_point]>input){break;//得到插入点+1//break:跳出for还会执行最后一句ins_point++}}for(ins_aftter=num-1;ins_aftter>ins_point-1;ins_aftter--)//插入数据,倒序传值,否则会导致后面的值都一致{val[ins_aftter+1]=val[ins_aftter];}val[ins_point]=input;printf("插入数值后数组:");display(val);//显示字符串
}
运行结果: