一维数组中删除第M个元素

EvilEast23 2012-11-04 09:12:02
输入
输入分为2行,第一行输入一个N,N<1000和M,表示要将第M个元素删除。

第二行输入N 个整数,数据之间用空格分开。

每个整数都小于32767。

输出
输出运算后的数组元素的数值,相互间用空格隔开,第一数之前和最后一个数之后都没有空格。

样例输入
6 3
1 2 3 4 5 6

样例输出
1 2 4 5 6

...全文
154 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2012-11-04
  • 打赏
  • 举报
回复
测试结果: 请输入n 6 请输入m 3 i:6 j:3 1 2 3 4 5 6 ----------- 1 2 4 5 6
失落夏天 2012-11-04
  • 打赏
  • 举报
回复
其实这个算法很简单啊 就是有点让你说的复杂了。 package com.briup.test08; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入n"); int n=input.nextInt(); System.out.println("请输入m"); int m=input.nextInt(); System.out.println("i:"+n+" j:"+m);//测试一下看看数据是否输入进来了,判断是否大约1000我就不写了 int[] str = new int[n]; //首先给数组赋值 for(int j=0;j<n;j++){ str[j]=j+1; //测试一下是否赋值成功 System.out.print(" "+str[j]); } System.out.println(); System.out.println("-----------");//分割下 //删除第m个数,其实就是从第m个数开始,把m+1赋值给m,m+2赋值给m+1; for(int i=m;i<n;i++){ str[i-1]=str[i]; } //最后测试一下,少了一个数,所以j<n-1,最后一个数其实也是等于6,这里没删除。 for(int j=0;j<n-1;j++){ System.out.print(" "+str[j]); } } }

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧