有序数组中插入一个元素现在有5个数字(85.63.49.22.10) 存在一个数组中由大到小排

数组的最后一个下标没有赋值.插入一个数字.要求数组任然保持由大到小的排列
要JAVA代码 麻烦各位大神门帮帮忙 不要C++和C#的 感谢了

兄弟,写好了,运行通过,不需要做仅有一步处理
import java.util.*;
public class Array{
public static void main(String args[]){
int a[]={85,63,49,22,10};
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int b[]=new int[6];
for(int i=0;i<5;i++){b[i]=a[i];}
b[5]=n;
for(int j=0;j<6;j++)
for(int p=j+1;p<6;p++)
{
if(b[j]<b[p]){b[j]^=b[p];b[p]^=b[j];b[j]^=b[p];}
}
System.out.println("数组降序排列为:");

for(int j=0;j<6;j++)
{System.out.println("\t"+b[j]);}
}
}追问

可以在帮我做两道题嘛 谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-27
85.63.49.22.10
第2个回答  2011-12-27
帮你测试好了
#include <iostream>
#include <string>
using namespace std;

void main()
{
int arr[9]={88,77,55,44,31,20};
int num=43;
int i=0;
while(arr[i]>num)i++;
int temp=0,temp2=0;
temp=arr[i-1];
arr[i-1]=num;
for(i=i-1;i<sizeof(arr)/sizeof(int);i++)
{
temp2=arr[i];
arr[i]=temp;
temp=temp2;
}

for (i=0;i<9;i++)
{
cout<<arr[i]<<endl;
}
}追问

这是c#的?

追答

C++ 你别管你看不到的部分
int arr[9]={88,77,55,44,31,20};
int num=43;
int i=0;
while(arr[i]>num)i++;
int temp=0,temp2=0;
temp=arr[i-1];
arr[i-1]=num;
for(i=i-1;i<sizeof(arr)/sizeof(int);i++)
{
temp2=arr[i];
arr[i]=temp;
temp=temp2;
这些是主要实现部分.C代码一样识别,和C++没区别.只不过我下面用了一个C++的cout输出语句用来查看数组罢了,你把cout输出的部分改成printf不就和C没区别了.上面的头文件你不用管

追问

可以不用C++和C代码。有Java的嘛 谢谢了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网