题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
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]);
}
哪位大哥帮改下 展开
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<arr.length;i++){
arrs<i>=arr<i>;
}
arrs[arrs.length-1]=num;
int temp;
for(int i=0;i<arrs.length-1;i++){
for(int j=0;j<arrs.length-1-i;j++){
if(arrs[j+1]<arrs[j]){//排序
temp=arrs[j];
arrs[j]=arrs[j+1];
arrs[j+1]=temp;
}
}
}
System.out.print("插入新数组为:"+"\t");
for(int i=0;i<arrs.length;i++){
System.out.print(arrs<i>+"\t");
}
}
}
扩展资料:
system
功能:发出一个DOS命令
用法:int system(char*command);
程序例:
#include<stdlib.h>
#include<stdio.h>
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=亮白色
参考资料:
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排好
然后 遍历 新数组 for循环 用这个值和每一个元素进行比较 一旦找到比他 大的 那么记住这个元素的下标 并且break跳出循环 接下来就是插入了 从记录的下标位置开始 循环数组 并且将所有的元素都后移一位 第一位放入 输入的数
此时 就完成了
希望能帮到你 谢谢
#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");
}
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;
}