在数组插入数据的问题

问题描述

在数组插入数据的问题

如图,写了一个在数组中插入一个数据的代码,输入的数据小于30时,能正常显示结果。但输入的数据大于30时,原始数组的最后一个数组35,就不见了,变成了以0显示。这是为什么?代码:
namespace 插入数组
{
class Program
{
static void Main(string[] args)
{
int[] myArray = new int[11];
myArray[0] = 1; myArray[1]=3;
myArray[2] = 4; myArray[3] = 7;
myArray[4] = 9; myArray[5] = 12;
myArray[6] = 17; myArray[7] = 20;
myArray[8] = 30; myArray[9] = 35;
Console.Write("请输入要插入的值: ");
int f = Convert.ToInt32(Console .ReadLine ());
int j, k;
for (k = 0; k < 10; k++)
{
if (f< myArray[k])
break;
}
for (j = 10; j >k ; j--)
{
myArray[j + 1] = myArray[j];
}
myArray[k] =f ;
Console.WriteLine("显示插入后的数组: ");
foreach (int number in myArray)
{
Console.Write(number +" ");

解决方案

循环错了

解决方案二:

第一个循环
k <10
->
k<=10

解决方案三:

 int[] myArray = {1,3,4,7,9,12,17,20,30,35};
int f = int.Parse(Console.ReadLine());
myArray = myArray.Where(x => x < f).Concat(new int[] { f }).Concat(myArray.Where(x => x >= f)).ToArray();
Console.WriteLine("插入后");
foreach (int x in myArray)
    Console.Write(x + " ");

解决方案四:

http://ideone.com/Bhbt8J

解决方案五:

我的程序也没有任何问题

using System;
using System.Linq;

public class Test
{
    public static void Main()
    {

int[] myArray = {1,3,4,7,9,12,17,20,30,35};
Console.Write("请输入要插入的值:");
int f = int.Parse(Console.ReadLine());
myArray = myArray.Where(x => x < f).Concat(new int[] { f }).Concat(myArray.Where(x => x >= f)).ToArray();
Console.WriteLine("显示插入后的数组:");
foreach (int x in myArray)
    Console.Write(x + " ");

    }

}

http://ideone.com/mo1WOy

解决方案六:

数组插入数据

解决方案七:

k
->
k<=10

解决方案八:

还有,以后问问题,请贴代码,而不是截图,这样好帮你调试。

解决方案九:

想想,当j=10的时候,j+1是多少?你的数组是11个元素,下标从0开始,最多到10,j+1是11是不是越界了,多看书

解决方案十:

想想,当j=10的时候,j+1是多少?你的数组是11个元素,下标从0开始,最多到10,j+1是11是不是越界了,多看书

时间: 2025-01-24 05:01:17

在数组插入数据的问题的相关文章

ThinkPHP写数组插入与获取最新插入数据ID实例_php实例

本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法.分享给大家供大家参考.具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例. 具体实现代码如下: 复制代码 代码如下: public function insert2(){  header("Content-Type:text/html; charset=utf-8");  $Dao = M("User"); // 构建写入的数据数组  $data[&quo

new-参数为两个数组的批量插入数据 该怎么写

问题描述 参数为两个数组的批量插入数据 该怎么写 //js var productcode = shuzu.join(","); var covertypecode = typeshuzu.join(","); /*console.log(productcode); console.log(covertypecode); */ $.ajax({ type:"post", url:"product/addproType.do",

《C语言及程序设计》实践参考——有序数组中插入数据

返回:贺老师课程教学链接  项目要求 [项目3-有序数组中插入数据]定义好一个有10个元素的数组,先输入9个呈升序的数作为前9个元素,再输入一个数,要求按原来排序的规律将它插入数组中.例如,9个呈升序的数为1 7 8 17 23 24 59 62 101,需要插入的数字为50,输出的序列则为1 7 8 17 23 24 50 59 62 101.  [参考解答] #include <stdio.h> int main() { int d[10]; int i, n; for(i=0; i<

c#-请问C#中如何写出插入数据算法?

问题描述 请问C#中如何写出插入数据算法? 不需要排序,只要在数组中插入数据,并使所有后续数值后移.这种算法该怎么写? 解决方案 那别用数组了,用链表结构,类里面有自己类型的对象,指向下一个,上一个,链表算法搜一下吧,c#版的很多 解决方案二: C#里本身就有现成的LinkedList<T>可以满足你的需要 解决方案三: linkedlist链表插入数据效率比较高,网上有很多代码,不过,还是建议楼主先了解一下链表再用,以后有时间看一下数据结构 解决方案四: 另外,可能java版本的比较多,你应

.Net创建Excel文件(插入数据、修改格式、生成图表)的方法

1.添加Excel引用 可以在.Net选项卡下添加Microsoft.Office.Interop.Excel引用,或在COM下添加Microsoft Excel 12.0 Object Library.它们都会生成Microsoft.Office.Interop.Excel.dll. 2.创建Excel. 有两种方法创建一个Excel Workbook实例. 1.需要一个模板文件,使用Open方法,参数较多: 1 object miss = Missing.Value; 2 Applicati

MySQL 怎么把一个数组插入数据库?

问题描述 MySQL 怎么把一个数组插入数据库? array(22) { ["user_name"]=> array(4) { [0]=> string(3) "name1" [1]=> string(3) "name2" [2]=> string(3) "name3" [3]=> string(3) "name4" } ["sex"]=> array

探讨SQL Server批量向数据库插入数据的性能优化问题

昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的http://www.aliyun.com/zixun/aggregation/14109.html">性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文. 公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问. 技术方案一: 压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入.

c# excel-C#插入数据复制数据添加到新的excel上

问题描述 C#插入数据复制数据添加到新的excel上 用C#来获取Excel的有效的数据对应的行数和列数,并且把数据存到二维数组中,再复制到新的Excel怎么写啊?用的是COM 解决方案 http://blog.csdn.net/iamlaosong/article/details/9332505 解决方案二: 你的意思是把excel中的数据读取到程序中的二维数组中吗?可以根据二维数组的索引进行填充数据啊,每次读取excel的一个单元格的内容就行了 解决方案三: 将excel的数据添加到数据库

JavaScript数组实现数据结构中的队列与堆栈_javascript技巧

一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: •shift:从数组中把第一个元素删除,并返回这个元素的值. •unshift: 在数组