题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

#include"stdio.h"voidmain(){inta[9]={1,3,5,7,9,10,12,14};intb,i,j,d,e;scanf("%d",&b);... #include "stdio.h"
void main()
{
int a[9]={1,3,5,7,9,10,12,14};
int b,i,j,d,e;
scanf("%d",&b);
for(i=0;i<9;i++)
{
while(a[i]>b)

{
d=a[i];
a[i]=b;

}
break;
}

for(j=8;j>i;j--)
{
a[j]=a[j-1];

}
for(i=0;i<9;i++)
printf("%d ",a[i]);
}

哪位大哥帮改下
展开
 我来答
问明6E
高粉答主

2019-05-28 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.8万
展开全部

import java.util.*;

public class twelfth{

public static void main(String[]args){

int[]arr={1,2,2,3,99,77,100,101,88};

int m=arr.length;

int[]arrs=new int[m+1];

Scanner input=new Scanner(System.in);

System.out.println("输入插入的整数:");

int num=input.nextInt();

for(int i=0;i&lt;arr.length;i++){

arrs&lt;i&gt;=arr&lt;i&gt;;

}

arrs[arrs.length-1]=num;

int temp;

for(int i=0;i&lt;arrs.length-1;i++){

for(int j=0;j&lt;arrs.length-1-i;j++){

if(arrs[j+1]&lt;arrs[j]){//排序

temp=arrs[j];

arrs[j]=arrs[j+1];

arrs[j+1]=temp;

}

}

}

System.out.print("插入新数组为:"+"\t");

for(int i=0;i&lt;arrs.length;i++){

System.out.print(arrs&lt;i&gt;+"\t");

}

}

}

扩展资料:

system

功能:发出一个DOS命令

用法:int system(char*command);

程序例:

#include&lt;stdlib.h&gt;

#include&lt;stdio.h&gt;

int main(void)

{

printf("About to spawn and run a DOS command\n");

system("dir");

return 0;

}

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色

(注意:Microsoft Visual C++6.0支持system)

颜色属性由两个十六进制数字指定--第一个对应于背景,第二个对应于前景。每个数字

可以为以下任何值:

0=黑色8=灰色

1=蓝色9=淡蓝色

2=绿色A=淡绿色

3=浅绿色B=淡浅绿色

4=红色C=淡红色

5=紫色D=淡紫色

6=黄色E=淡黄色

7=白色F=亮白色

参考资料:

百度百科——system(函数)

前端要摸鱼
2015-10-17 · TA获得超过104个赞
知道答主
回答量:22
采纳率:0%
帮助的人:13.9万
展开全部
#include <stdio.h>
int main()
{
int book[1001],i,j,t,n;
for(i=0;i<=1000;i++)
book[i]=0;
scanf("%d",&n);//输入一个数n,表示接下来有n个数
for(i=1;i<=n;i++)//循环读入n个数,并进行桶排序
{
scanf("%d",&t); //把每一个数读到变量t中
book[t]++; //进行计数,对编号为t的桶放一个小旗子
}
for(i=1000;i>=0;i--) //依次判断编号1000~0的桶
for(j=1;j<=book[i];j++) //出现了几次就将桶的编号打印几次
printf("%d ",i);
getchar();getchar();
return 0;
}
比如你输入
10,说明有10个数。
3,2,1,4,5,6,7,8,9,10.
他会自动帮你从10到1排好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangqi0192
2014-11-25 · TA获得超过2387个赞
知道大有可为答主
回答量:1417
采纳率:0%
帮助的人:1222万
展开全部
你好 我说下思路 好了 首先 复制原数组 并且 长度 +1 这时候新数组和原数组 一样长度 不过最后一个元素为空对吧
然后 遍历 新数组 for循环 用这个值和每一个元素进行比较 一旦找到比他 大的 那么记住这个元素的下标 并且break跳出循环 接下来就是插入了 从记录的下标位置开始 循环数组 并且将所有的元素都后移一位 第一位放入 输入的数
此时 就完成了
希望能帮到你 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
emdgp38
推荐于2017-09-15 · TA获得超过1826个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:390万
展开全部
仅供参考,程序测试正确

#include "stdio.h"
void main()
{
int a[9]={1,3,5,7,9,10,12,14};
int b,i,j;
scanf("%d",&b);

for(i=0;i<8;i++){
if(a[i]>=b){ /*找到插入位置*/
for(j=8;j>i;j--) /*后面元素均后移一位*/
a[j] = a[j-1];
a[i] = b; /*插入*/
break;
}
}
if(i==8) /*若该数大于所有数*/
a[8] = b;

for(i=0;i<9;i++)
printf("%d ", a[i]);
printf("\n");

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w625464481w
2018-07-01
知道答主
回答量:1
采纳率:0%
帮助的人:850
展开全部
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n]={0},i,num,j;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&num);
for(i=1;i<n;i++)
{
if((num<=a[0]&&a[0]<a[n-1])||(num>=a[0]&&a[0]>a[n-1]))
{
printf("%d ",num);
for(j=0;j<n;j++)
{
printf("%d ",a[j]);
}
break;
}
else if((num>=a[n-1]&&a[0]<=a[n-1])||(num<=a[n-1]&&a[0]>=a[n-1]))
{
for(j=0;j<n;j++)
{
printf("%d ",a[j]);
}
printf("%d",num);
break;
}
else if((num>=a[i-1]&&num<=a[i])||(num<=a[i-1]&&num>=a[i]))
{
for(j=0;j<i;j++)
{
printf("%d ",a[j]);
}
printf("%d ",num);
for(j=i;j<n;j++)
{
printf("%d ",a[j]);
}
break;
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式