
求代码:一道dev.c++里面很简单的一道数组的题~真的很基础…
一道题:已有一个已经排好序的数组,要求输入一个数后,按照原来的顺序的规律,将它插入数组中~(我是一个c的初学者,学了还不到两个月,许多东西都不太清楚,所以拜托各位高手们尽...
一道题:已有一个已经排好序的数组,要求输入一个数后,按照原来的顺序的规律,将它插入数组中~
(我是一个c的初学者,学了还不到两个月,许多东西都不太清楚,所以拜托各位高手们尽量把代码写详细点,十二分的谢谢~)
(*^__^*) ……
那嘎……
那个要输入的数字是要用scanf用户临时输入的数字~
呵呵,
一二楼的,谢谢噢~ 展开
(我是一个c的初学者,学了还不到两个月,许多东西都不太清楚,所以拜托各位高手们尽量把代码写详细点,十二分的谢谢~)
(*^__^*) ……
那嘎……
那个要输入的数字是要用scanf用户临时输入的数字~
呵呵,
一二楼的,谢谢噢~ 展开
2个回答
展开全部
DEV C++里帮你写代码,注释太麻烦,就写了一些基本的,如果有什么不懂,百度HI上问我
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a[100] = {1,2,3,4,6,7,8,9,10,11};//排序好的数组;
//int b = 5;//要插入的数;
int b;scanf("%d",&b);//如果要临时输入,改下这里不就行了- -!
for(int i = 9;i>=0;i--)//9是数组的最后一个元素位置;从后面开始搜索;
{
if(a[i]>b)
{
a[i+1]=a[i];
a[i]=b;
}
else
break;
}
for(int j = 0;j<11;j++)
cout<<a[j]<<' ';
system("pause");
return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a[100] = {1,2,3,4,6,7,8,9,10,11};//排序好的数组;
//int b = 5;//要插入的数;
int b;scanf("%d",&b);//如果要临时输入,改下这里不就行了- -!
for(int i = 9;i>=0;i--)//9是数组的最后一个元素位置;从后面开始搜索;
{
if(a[i]>b)
{
a[i+1]=a[i];
a[i]=b;
}
else
break;
}
for(int j = 0;j<11;j++)
cout<<a[j]<<' ';
system("pause");
return 0;
}
展开全部
插入排序么,C语言版本,适合升降序不明的数组
#include<stdio.h>
#include<stdlib.h>
int isort(int *array,int num) {
int position=-1,size,i,tmp;
for(size=0;array[size]!=-1;size++); //取得数字个数
for(i=1;i<size-1;i++) if(((array[i-1]-num)*(array[i]-num))<=0) {position=i;break;} //如果num与两个相邻数字的差等于0或一正一负,则该位置为插入位置
if(position==-1) position=abs(array[0]-num)<abs(array[size-1]-num)?0:size;
for(i=size+1;i>position;array[i]=array[i-1],i--); //空出位置
array[i]=num;
return position;
}
int main() {
int a[100]={10,20,30,40,50,60,-1};
int b[100]={60,50,50,-10,-20,-1};
int i;
isort(a,0);
isort(a,40);
isort(b,50);
isort(b,-35);
for(i=0;a[i]!=-1;i++) printf("%d ",a[i]);
for(i=0;b[i]!=-1;i++) printf("%d ",b[i]);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int isort(int *array,int num) {
int position=-1,size,i,tmp;
for(size=0;array[size]!=-1;size++); //取得数字个数
for(i=1;i<size-1;i++) if(((array[i-1]-num)*(array[i]-num))<=0) {position=i;break;} //如果num与两个相邻数字的差等于0或一正一负,则该位置为插入位置
if(position==-1) position=abs(array[0]-num)<abs(array[size-1]-num)?0:size;
for(i=size+1;i>position;array[i]=array[i-1],i--); //空出位置
array[i]=num;
return position;
}
int main() {
int a[100]={10,20,30,40,50,60,-1};
int b[100]={60,50,50,-10,-20,-1};
int i;
isort(a,0);
isort(a,40);
isort(b,50);
isort(b,-35);
for(i=0;a[i]!=-1;i++) printf("%d ",a[i]);
for(i=0;b[i]!=-1;i++) printf("%d ",b[i]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询