精华内容
下载资源
问答
  • 2021-09-29 10:48:53

    先开一个足够大的数组,在取值

    	int arr[1024] = {0};
        int n,i = 0;
        do{
            scanf("%d", &n);
            arr[i++] = n;
        }while( getchar() != '\n');
    

    输入样例:
    3 2 1 4 5
    检查输入是否为换行,是的话输入结束

    更多相关内容
  • 如何输入未确定长度数组

    千次阅读 2021-10-04 21:11:44
    今天用许久未碰的C语言写数据结构作业时遇到了这个问题,在确定要输入的整型数组长度时我们应该如何输入,并用回车结束输入?如:LA=(3,5,8,11),LB=(2,6,8,9,11,15,20) 在这给出两种解决办法 int count=0; ...

    如何输入未确定长度的数组

    今天用许久未碰的C语言写数据结构作业时遇到了这个问题,在不确定要输入的整型数组长度时我们应该如何输入,并用回车结束输入?如:LA=(3,5,8,11),LB=(2,6,8,9,11,15,20)
    在这给出两种解决办法

    	int count=0;
    	int a[1024]={0};
    	while(1)
    	{
    		scanf("%d",&a[count]);/*这里其实有个bug,如果你输入的是一个空
    		数组,即直接回车的话程序会卡在这里,因为scanf需要接收到一个整型数据*/
    		count++;
    		if(getchar() == '\n')//遇到换行时跳出循环
    		{
    			break;
    		}
    	}
    	for(temp=0;temp<count;temp++)//打印结果
    	{
    		printf("%d ",a[temp]);
    	}
    	printf("\n%d",count);
    

    如果你不希望在while循环中再进行判断,那么可以使用do while

    	int count=0;//count用于计数
    	int a[1024]={0};
    	do//注意,不能直接使用while(getchar!='\n),而应该使用do while,
    	//因为前者会导致第一个数据丢失(程序运行先进入判断条件第一个数字被getchar拿走)
    	{
    		scanf("%d",&a[count]);
    		count++;
    	}while(getchar()!='\n');//遇到换行时结束循环
    	for(temp=0;temp<count;temp++)//打印结果
    	{
    		printf("%d ",a[temp]);
    	}
    	printf("\n%d",count);
    

    LA正常运行
    LB正常运行

    以上也只是我临时查阅资料,经过调试之后总结出来的,限于知识水平难免有错漏之处,请多指正包涵。

    展开全文
  • JAVA中输入不知道长度数组

    万次阅读 2018-08-12 18:09:02
    JAVA中输入不知道长度数组 一、整型数组 例如 input: 3// 数组长度n 1 2 3//数组,注意数组是无法直接输出的,要转化为字符串才能输出。 方法一: import java.util.Arrays; import java.util.Scanner; ...

    JAVA中输入不知道长度的数组

    一、整型数组

    例如

    input:

    3// 数组长度n

    1 2 3//数组,注意数组是无法直接输出的,要转化为字符串才能输出。

    方法一:

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
     public static void main(String[] args) {
         /*
          * 循环连续输入和输出
          * 输入:一个数字 3
          *     一个数组 1 2 3
          */
         Scanner x=new Scanner(System.in);
         while(x.hasNext()){
             int m=x.nextInt();
             //System.out.println(m);
             int[] number=new int[m];
             for(int i=0;i<m;i++){
                 number[i]=x.nextInt();
             }
            // Arrays.sort(number);
             System.out.println(Arrays.toString(number));
         }
        }
    }

    方法二:

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
     public static void main(String[] args) {
         /*
          * 循环连续输入和输出
          * 输入:一个数字 3
          * 一个数组 1 2 3
          */
          Scanner sc = new Scanner(System.in);
    	        int n = sc.nextInt();
    	        int a[] = new int[n];
    	        for(int i=0; i<n; i++)
    	            a[i] = sc.nextInt();
    	        String intArrayString = Arrays.toString(a);
    	        System.out.println(intArrayString);
        }
    }

    二、字符串数组转化为整型数组

    1、空格+整型。首先输入字符串的数组,中间用空格分隔,然后获取字符串长度,作为int[] 初始数组的长度,再将String字符串数组转化为int数组。

    
    public static void main(String[] args){
    	
    	Scanner sc=new Scanner(System.in); 
    	String[] nums = null; 
    	nums = sc.nextLine().split(" "); 
    	int num[]=new int[nums.length];
    	for(int i=0;i<num.length;i++){
    	    num[i]=Integer.valueOf(nums[i]);
    	}
    }

    2、逗号+下横线。

    public class Demo{
    
        public static void main(String[] args) {
            String str = "a,b_a,b_a,b";
            String[] temp = str.split("_");
            String[][] temp2 =new String[3][2];
            for(int i=0;i<temp.length;i++)
            {
                temp2[i] = temp[i].split(",");
            }
            for(int i=0;i<temp2[0].length;i++)
            {
                for(int j=0;j<temp2[1].length;j++)
                {
                    for(int l=0;l<temp2[2].length;l++)
                    {
                        System.out.println(temp2[0][i]+"_"+temp2[1][j]+"_"+temp2[2][l]);
                    }
                }
            }
        }
    }

     

    展开全文
  • C++输入未知长度数组

    万次阅读 多人点赞 2019-06-23 18:33:07
    假如要输入一组数字进行排序,但是不知道有多少个数字 静态数组int array[10],它的长度必须是个常数才可以定义。如果知道数组长度n,可以先cin>>n;然后用动态数组int* array = new int[n]。但是如果不知道...

    注意:该作者博客已迁移至https://buxianshan.xyz

    假如要输入一组数字进行排序,但是不知道有多少个数字

    静态数组int array[10],它的长度必须是个常数才可以定义。如果知道数组长度n,可以先cin>>n;然后用动态数组int* array = new int[n]。但是如果不知道数组长度,该怎么定义呢?

    经过查找资料,终于找到了一种解决方法。使用STL中的vector。

    STL

    STL是Standard Template Library的简称,中文名标准模板库。根本上说,STL是一些“容器”的集合,这些“容器”有 list, vector, set, map 等。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL是C++的一部分,因此不用安装额外的库文件。
    在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。

    vector

    vector(向量):是一种顺序容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。

    简单用法:
    定义一个vector,元素为 int 型的容器array,可以简单理解为一个整型数组。

    vector<int> array;
    

    在它末尾添加一个数字

    array.push_back(number);
    

    返回数组长度

    array.size();
    

    所以输入未知长度的数组可以这样写:

    #include<iostream>
    #include<vector>//引入vector头文件
    using namespace std;
    int main() {
     vector<int> array;//定义一个vector数组array
     int number;
     while (1) {
      cin >> number;
      array.push_back(number);//每输入一个数字就把它添加到数组的最后
      if (cin.get() == '\n')//如果是回车符则跳出循环
       break;
     }
     int len = array.size();//返回数组长度为len
     //下面遍历一遍数组看看对不对
     for (int i = 0; i < len; i++) {
      cout << array[i] << endl;
     }
     return 0;
    }
    

    测试截图:
    在这里插入图片描述

    已经完成了输入和保存数组

    STL的<algorithm>库中也提供了很多排序算法,遍历vector也可以使用迭代器。总之STL集成了很多优秀的算法,熟悉使用可以提高开发效率。还有很多需要学习的东西。

    参考

    • https://www.cnblogs.com/SarahZhang0104/p/5749680.html
    • https://blog.csdn.net/lizhentao0707/article/details/82224807
    • https://www.cnblogs.com/aiguona/p/7228364.html
    • https://baike.baidu.com/item/STL/70103?fr=aladdin
    展开全文
  • 确定长度数组输入

    千次阅读 2021-05-17 21:00:23
    不知道输入几个数的时候输入,整体用字符串输入,再用空格给它分开成几部分即可。 注意String s=reader.nextLine();不能写成reader.next(); 代码: import java.util.Scanner; public class eightyfive { public ...
  • 如何输入任意长度数组

    千次阅读 2020-01-21 10:02:47
    在写代码的时候我们经常遇到这样的问题:要输入一个未确定长度数组。解决这个问题,我们可以这样做: #include using namespace std; int main() { int n; cin>>n; int *a=new int[n]; for(int i=0;i<n;i...
  • C语言输入未知长度字符数组

    万次阅读 多人点赞 2019-02-10 15:31:03
    C语言输入未知长度字符数组 问题描述:在最基础的C语言中使用scanf()函数简单输入一行长串字符数组,以回车结束。储存每一个字符以参与后面的运算,或者将他们打印下来。 细节问题 回车(enter)结束——指的是以...
  • java 定义一个未知长度数组

    千次阅读 2021-11-29 11:23:43
    1、在java中可以通过变量表示数组长度,定义数组的时候传递这个变量,new String[length] ,就可以在程序运行的时候动态定义一个数组 下面是示例代码: public class Test { public static void main(String[] ...
  • C++从键盘读入任意长度数组

    千次阅读 2021-12-22 10:52:58
    刷算法题时经常会遇到要输入任意长度数组,可使用以下这种方法实现。 #include<bitsdc++.h> using namespace std; int main() { char ch; int n; vector<int> nums; cout<<"以空格为间隔...
  • 长度数组

    千次阅读 2019-12-22 22:21:51
    什么是零长度数组 顾名思义,零长度数组就是长度为0的数组。 ANSI C 标准规定:定义一个数组时,数组的长度必须是一个常数,即数组的长度在编译的时候是确定的。在ANSI C 中定义一个数组的方法如下: int a[10];...
  • 输入int数组的方法一(不知道长度
  • 1、python里面定义未知长度数组 python里面数组可以声明一个未知长度的数值 比如python可以这样定义: #!/usr/bin/python3 a1=[] for i in range(0,10): a1[i]=str(i)+"a" #print(i) 执行报错:IndexError:...
  • Java如何输入不确定长度数组

    万次阅读 2017-08-26 17:00:37
    数组排序和去重 Arrays.sort(A); List <Integer> list = new ArrayList(); //数组去重 for (int i= 0 ;i;i++){ if (A[i]> 0 &&! list .contains(A[i])){ list .add(A[i]); System.out. print (A...
  • 稍作修改,实现了在数组长度不确定的情况下进行输入并求和的功能 : import java.util.Scanner; public class main { public static void main(String arge[]){ String[] str = new String[0]; Scanner ...
  • 写代码的时候,数组一般要指定长度或者直接赋初值,如果...但是我想把自己从键盘输入的值作为数组长度随时改变,那该怎么做呢? 使用动态数组可以做到: int size; cin>>size; int *shuzu=new int [size]; 这样就行
  • C语言0长度数组(可变数组/柔性数组)详解

    万次阅读 多人点赞 2017-03-20 19:37:26
    C语言0长度数组(可变数组/柔性数组)详解 CSDN GitHub C语言0长度数组(可变数组/柔性数组)详解 AderXCoding/language/c/zero_length_array 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议...
  • 循环遍历确定长度数组

    千次阅读 2017-05-04 18:07:27
    在做项目的时候,更新界面,我们可以在请求成功的时候把选中的实体移除,如果父类就有...在遍历确定的长度数组时,我们选中用迭代器Iterator<CustomAfterAcceptNumberBean> it = acceptNumberData.iterator(); wh
  • c++ 输入不定长的字符数组

    千次阅读 2020-04-19 14:54:14
    OJ题目中总会出现给定一个字符串,删除其中某些字符的题目,但输入不会给字符串的长度。 网上有的方法是先定义一个超大的数组,然后用这个大数组来储存数据,但我喜欢这个方法,不但浪费空间,如果题目给定字符串...
  • java编程输入一个长度未知的int数组

    万次阅读 多人点赞 2019-02-13 19:32:58
     java中可以直接输入字符串数组,但是输入int[] 数组时需要事先定义长度,但有些题目中的长度是可变的,能事先固定数组长度。首先输入字符串的数组,中间用空格分隔,然后获取字符串长度,作为int[] 初始数组的...
  • C++输入获取未知长度的行输入数组 与 输出控制
  • 定义任意长度数组

    千次阅读 2020-02-11 13:10:58
  • C++创建自定义长度数组小技巧

    千次阅读 2021-09-05 20:01:55
    大家都知道C++如果直接创建数组,必须要指定数组长度,而有时候所需要数组长度不是固定的,比如我需要从控制台输入一个数,创建这个数的长度数组,那该怎么办呢?这里教大家一个小技巧,话多说直接上代码。 ...
  • JS 创建 指定长度 数组

    万次阅读 2020-04-07 15:37:54
    JS 创建 指定长度 数组
  • 声明固定长度数组及初始化

    千次阅读 2020-03-05 15:32:37
    //一维数组 len = 10; A = zeros(1,len); //多维数组数组为i X 10 len = 10; A = zeros(i,len);
  • 一串整型数据,不知道输入数据的长度是多少,现在要存到一个数组中,怎么办? 换一种说法就是,其实懒懒的我在想c++能不能实现python里 array=input(); 这种非常简单的、不需要确定数组长度就能输入一串数字...
  • c语言数组不确定长度C does not provide a built-in way to get the size of an array. You have to do some work up front. C没有提供获取数组大小的内置方法。 您必须先做一些工作。 I want to mention the ...
  • mongo数组长度 数组内容 查询

    千次阅读 2017-12-20 17:17:00
    在网上关于mongo数组查询的太少了,现在贡献一下 假设数据库里有一条这样的数据 {  "name": "arrayTest",  "arrayKey": ["a","b"] } 查询 arrayKey长度是2的数据 :{arrayKey:{"$size":2}} 查询arrayKey内容是 ...
  • 本文使用System提供的一个静态方法arraycopy(),实现数组间的复制。 public static native void arraycopy(Object src,int srcPos,Object dest, int destPos,...例子:在字节数组中截取指定长度数组 public sta..
  • C++读取一串未知长度数组并保存

    千次阅读 2019-09-09 21:11:44
    例如做题时输入一串数组,以空格隔开,但是不知道数组长度,就可以用下面这段代码来读取,最后保存进 vector 里面。 #include<iostream> #include<vector> using namaspce std; int main() { char c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,451,976
精华内容 580,790
关键字:

怎么输入不知道长度的数组