概述
编写程序,从键盘输入8个非递减有序排好的数列并放入一个一维数组中,再输入一个数elem,并将这个数elem插入到数组中,而且仍然保持非递减有序,若插入的数比原有所有的数都大时放在最后,比原有的数都小时放在最前面。
编程要求:
1、数列中数据都是整数;
2、非递减有序:就是从小到大或者允许中间有相等的情形,比如1 3 4 5 5 6就是非递减有序排列;
3、请利用数组的方法实现;
4、请严格按照输出效果输出;(影响成绩评定)
5、任务提交代码时需保证其符合行业代码规范,需进行必要的缩进及换行。(影响成绩评定)
运行效果1:
请按照非递减有序输入8个整数:
2 3 3 10 15 16 28 30
请输入elem:3
插入elem后的结果为:
2 3 3 3 10 15 16 28 30
请按任意键继续. . .
运行效果2:
请按照非递减有序输入8个整数:
3 4 10 15 16 66 78 80
请输入elem:81
插入elem后的结果为:
3 4 10 15 16 66 78 80 81
请按任意键继续. . .
运行效果3:
请按照非递减有序输入8个整数:
11 22 33 45 56 57 77 89
请输入elem:3
插入elem后的结果为:
3 11 22 33 45 56 57 77 89
请按任意键继续. . .
#include <stdio.h>
int main(void)
{
int n ,arr[9] ,i ,elem ,j;
printf("请按照非递减有序输入8个整数:n");
for (i = 0; i < 8; i++)
scanf("%d" ,&arr[i]);
printf("请输入elem:");
scanf("%d" ,&elem);
for (i = 0; i < 8; i++)
if(arr[i] > elem)
break;
for (j = 7; j >= i; j--)
arr[j+1] = arr[j];
arr[i] = elem;
printf("插入elem后的结果为:n");
for (i = 0; i <= 8; i++)
printf("%d " ,arr[i]);
printf("n");
return 0;
}
#include <stdio.h>
int main(void)
{
int arr[9],elem;
int a,b,j;
printf("请按照非递减有序输入8个整数:n");
for(a=0;a<8;++a)
{
scanf("%d",&arr[a]);
}
printf("请输入elem:");
scanf("%d",&elem);
printf("插入elem后的结果为:n");
arr[8]=elem;
for(a=0;a<8;++a){
for(j=0;j<8-a;++j){
if(arr[j]>arr[j+1]){
b=arr[j];
arr[j]=arr[j+1];
arr[j+1]=b;
}
}
}
for(a=0;a<9;++a){
printf("%d ",arr[a]);
}
printf("n");
return 0;
}
最后
以上就是坚强小丸子为你收集整理的C语言之数据插入的全部内容,希望文章能够帮你解决C语言之数据插入所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复