怎么编写一个通过输入n的值来确定的含n个整形元素的数组?

怎么编写一个通过输入n的值来确定的含n个整形元素的数组?通过手动输入n的值,来确定数组的大小

0

2个回答

有的编译器支持直接开数组
int n;
scanf("%d", &n);
int arr[n];

有的不支持,那么只能动态分配
int n;
scanf("%d", &n);
int * arr = (int *)malloc(sizeof(int) * n);

0
qq_43543293
qq_43543293 我怎么可以给您发过去我的那个程序的照片呢,看到没有发照片的按钮
5 个月之前 回复
qq_43543293
qq_43543293 还想问您一个问题,程序可以在VC6.0运算出正确结果,但粘贴到OpenJudge上提交就显示Runtime Error,查了百度,还是解决不了,向您求助,谢谢您
5 个月之前 回复
caozhy
贵阳挖掘机马善福,自备车辆专业挖游泳池 回复qq_43543293: 如果问题解决,请点下采纳,谢谢
5 个月之前 回复
qq_43543293
qq_43543293 谢谢您,非常感谢,嘻嘻,我试试
5 个月之前 回复

方法1.先确定n,然后为数组动态分配
方法2.运用链表,不需要知道n,可以不断添加元素

对于动态分配:
c用malloc,c++用new。就是所谓的动态分配

int *arr;
std::cin>>n;
arr=new int [n];_

delete [] arr;//用完delete掉_

对于链表,知识点太多
简单讲就是创建一个class,其中有node,然后用这个类的指针不断的创建新节点已达到你要的效果

__

1
qq_43543293
qq_43543293 谢谢您,我是一名大一的学生,可以试试动态分配,嘻嘻
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
获得一个2n数组中的N个元素,使得该N个元素与剩余元素和最小
void MaoPao(int * a,int low,int high,bool BMax) { if(NULL==a) { return ; } if(low<high) { if(BMax) { //开始存放最大值 for(int i=high;i>low;i--) { if(a[i]>a[i-1]) { int tmp=a
C/C++怎么输入n创建n*n数组
C/C++怎么输入n创建n*n维数组。在C/C++中创建6*6数组int a[6][6]。 但是很多时候要根据输入或给定的数N来设置大小可变的数组a[n][n]。而int a[n][n] 是非法的。 创建a[n][n]数组方法如下: 1.声明一个二级指针**a,并为它分配n*sizeof(int)空间。这样就相当于创建了n行,a[n][]。 2.为二级指针a[i]分配n*sizeof(in...
关于第N个数组的确定问题
对于opencv中CvSeq结构定义如下:rnrn#define CV_TREE_NODE_FIELDS(node_type) / rn int flags; /* micsellaneous flags */ / rn int header_size; /* size of sequence header */ / rn struct node_type* h_prev; /* previous sequence */ / rn struct node_type* h_next; /* next sequence */ / rn struct node_type* v_prev; /* 2nd previous sequence */ / rn struct node_type* v_next /* 2nd next sequence */ rn/* rn Read/Write sequence. rn Elements can be dynamically inserted to or deleted from the sequence. rn*/ rn#define CV_SEQUENCE_FIELDS() / rn CV_TREE_NODE_FIELDS(CvSeq); / rn int total; /* total number of elements */ / rn int elem_size; /* size of sequence element in bytes */ / rn char* block_max; /* maximal bound of the last block */ / rn char* ptr; /* current write pointer */ / rn int delta_elems; /* how many elements allocated when the seq grows */ / rn CvMemStorage* storage; /* where the seq is stored */ / rn CvSeqBlock* free_blocks; /* free blocks list */ / rn CvSeqBlock* first; /* pointer to the first sequence block */ rntypedef struct CvSeq rn rn CV_SEQUENCE_FIELDS() rn rnCvSeq; rnrnrn对于CvSeq * first_contour 而言rnrnrn如果我想用第N个边缘的话,我应当如何操作,来调用第N个边缘。因为定义中没有数组的位置函数,只有整体大小函数。所以怎样才能确定rnrnrn
编写一个程序要求实现求n*n阶矩阵的值。n在运行期间输入。怎么实现?
编写一个程序要求实现求n*n阶矩阵的值。n在运行期间输入。怎么实现?
n个元素全排列
适用于算法课程求n个元素的全排列,从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 公式:全排列数f(n)=n!(定义0!=1)
求解具有N个元素的数组的全排列
如数组[1,2,3,4,5],其中N=5,则全排列共有N!即120种。 给定N个元素数组,其全排列的过程可以描述为: 1)任意取一个元素放在第一个位置,则有N种选择; 2)从剩下N-1个元素中再取一个放入第二个位置,则有哦N-1种选择,即这时可以看作为N-1个元素全排列; 3)重复上述步骤,直至剩下最后一个元素进行全排列,结束; void permutation(int *arr...
n个元素全排列 & 整数n的划分
n个元素全排列 整数n的划分 设计一个递归程序生成n个元素{r1,r2,...,rn}的全排列 编写程序,求正整数n的不同划分个数以及具体的划分。
N个数组的问题
一、打印N个有序数组整体最大的TopK题目:有N个长度不一的数组,所有数组有序,请从大到小打印这N个数组的整体最大的前K个数。分析: 构建一个大小为N的大顶堆,初始元素为每个有序数组的最后一个元素。调整初始堆。 打印当前堆顶元素,为最大的。 假设堆顶元素来自于a数组的i位置,接下来把堆顶元素的位于a数组的前一个元素a[i-1]放在堆顶,然后调整堆。 重复前两步,直到打印前K个。 在步骤3中,如
n个数组的组合
大家帮忙想想用简单的方法实现以下功能rn现在有一个类型为ArrayList的对象a,,这个a的长度不固定的,a里面的每个对象的类型也都是ArrayList,长度也不固定rn现在想实现将得到这个a里面的所有对象连接的排列组合rn我举个例子吧rn假设a里面有3个ArrayList对象,分别是b,c,d,这些ArrayList中的都是字符串,假设b中为"b1","b2","b3",c中为"c1","c2",d中为"d1","d2", 那么我想要得到的结果就是这么一个字符串:rnb1c1d1,b1c1d2,b1c2d1,b1c2d2,b2c1d1,b2c1d2,b2c2d1,b2c2d2,b3c1d1,b3c1d2,b3c2d1,b3c2d2rn请注意对象a,b,c,d的长度都是动态的,不固定的,这段代码怎么写?rn谢谢rn
求m个数组,每个数组n个元素的组合
有m个数组,每个数组有n个元素。列出所有可能的组合。rnrn如:arr1aa,bb,cc,arr211,22,33,得到的组合是:rnrnaa11,aa22,aa33,bb11,bb22,bb33,cc11,cc22,cc33rnrn数组个数不确定,每个数组的元素也不确定。
m个数组,每个数组n个元素的组合
有m个数组,每个数组有n个元素。列出所有可能的组合。 如:arr1{aa,bb,cc},arr2{11,22,33},得到的组合是: aa11,aa22,aa33,bb11,bb22,bb33,cc11,cc22,cc33
输入n,计算1+2+···+n的值
#include <stdio.h> main() { int i,n,sum; printf("Input n:"); scanf("%d" ,&n); sum =0; for (i=1;i<=n;i++) { sum=sum+i; } printf("sum=%d\n",sum); } 运行结果: 知识点:1、使用
输入n ,计算 1!+2!+...+n! 的值
输入n ,计算 1!+2!+...+n! 的值
一个数组拆分为N个数组
请问有这样一个字符串数组: "123 123 123 \n3 45\n789\n\123KB" rn在LINUX下用C语言怎样来根据换行符'\n',把这个数组转化为四个数组呢?rn假如这个数组很大,有几十个'\n',有什么高效一点的方法.请高手指教一下.
定义一个N*N的二维数组,求数组周边元素的平均值
数组周边元素的规律为下标中有一个是0或是N-1,故得进行循环判断下标,当确认是周边元素的时候,计数器t应该累加,方便计算平均值。 # include&amp;lt;stdio.h&amp;gt; # define N 3 int main() { int a[N][N],sum=0,t=0; double ave; for (int i = 0; i &amp;lt; N; i++) { for (int...
java 输入一个整数n,根据n获取Fibonacci数列的第n个值
数学基础: 1,1,2,3,5,8,13 and so on 前两位特殊,其余各位符合F(n) = F(n-1)+F(n-2);  首先想到递归,如下: public static int fibonacci(int n) { if (n <= 0) { return -1; } else if (n == 1 || n ==
N*N的zigzag数组
一道经典的面试题,zigzag数组。用C++实现。
编写一个程序,输入N,求N ! 用递归的方式
看效果: 代码部分: public static void main(String [] args) { while(true) { System.out.print("输入:"); @SuppressWarnings("resource") Scanner scr = new Scanner(System.in); int num = s
jquery 怎么抓取数组中的第n个元素?
如题,例子代码如下:rn[code=HTML]rnrn rn 1111rn 2222rn 3333rn 4444rn 5555rn rn rn 这里显示结果。rn rn jquery 怎么抓array里面的第n个元素?比如说我要抓“3333”这个div放到#get-one div里面去,javascript用getelementbyid("array")[2]抓取,jquery该怎么写?rnrnrn[/code]
求一个n×n的矩阵的对角线元素之和
#include rnrnint main(void)rn rn int n;rn printf("input n:");rn scanf("%d",&n);rn rn int i,sum;rn for(i=0;i
n个元素全排
n个元素全排的c代码。给定n个数,求出其全排的顺序及有多少种方法 。
回溯n个元素的子集
#include &amp;lt;stdio.h&amp;gt; int n; int a[100];//测试100个元素以内 int count; int f(int k) { if (!k) { int i; printf(&quot;{&quot;); for (i = 1; i &amp;lt;= n; ++i) { if (a[i]) { printf(&quot;%d&quot;, i); } ...
单链表的倒数第n个元素
看到网上的算法面试题,觉得很有趣。   输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。   弄法楚题目后,想了几种方法: 一。先遍历一次单链表,求其长度length,再第二次遍历 length-k 次 二。设置两个指针p1,p2 (p1=p2= p-&amp;gt; head 指向单链表的开始位置),让第一个指针跑k次 p1 = p1-&amp;gt;next, 再...
Java N个元素全排列
排列,就是数学上的排列数的概念,
求解n个元素{r1,r2,…,rn}的全排列。 n个元素的全排列有n!种可能。
#include void swap(int a,int b){ int temp = a; a= b; b = temp; } void perm(int r[], int i, int n) { if ( i == n ) { // 只有一个数值 for (int j = 0; j <= n; j++) {
保留最后 N 个元素
问题 在迭代操作或者其他操作的时候,怎样只保留最后有限几个元素的历史记录? 解决方案 保留有限历史记录正是 collections.deque 大显身手的时候。 使用 deque(maxlen=N) 构造函数会新建一个固定大小的队列。当新的元素加入并且这个队列已满的时候,最老的元素会自动被移除掉。 &amp;gt;&amp;gt;&amp;gt; q = deque(maxlen=3) &amp;gt;&amp;gt;&amp;gt;...
保留最后N个元素
问题在迭代操作或者其他操作的时候,怎样只保留最后有限几个元素的历史记录?解决方案保留有限历史记录正是 collections.deque大显身手的时候。比如,下面的代码在多行上面做简单的文本匹配, 并返回匹配所在行的前N行:from collections import dequedef search(lines, pattern, history=5): previous_lines =
输入一个正整数N,然后输出前N个质数
最近找工作遇到很多手撕代码题,虽然很多题都有思路,但是短时间内手撕出来,且细节都到位,没有那么容易,本人小白一个,把遇到的问题及思路和解决方法写一下,供大家参考! #include&amp;lt;iostream&amp;gt; using namespace std; int check(int n) { for (int j = 2; j &amp;lt; n; j++)//从2开始判断,范围为2~n-1 ...
蓝桥杯题目 输入一个正整数n,输出n!的值。
问题描述   输入一个正整数n,输出n!的值。   其中n!=1*2*3*…*n。 算法描述   n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。   将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。   首先将a设为1,然后乘2,乘3,当乘到n时,即得
如果想定义一个具有n个元素的数组,杂拌?
int n;rnrnint a[n];rnrn知道不对,但这样不会浪费内存空间吗?rn说说如何 由键盘输入一个数n,然后定义有n个元素的数组?
计算整形数组中前N个点的最近距离
计算一个数组中前2.3.4.5.。。。。。sizeof(array)的最近距离,使用了动态规划算法,欢迎各位下载,手机模拟端亲测,
生产N个不重复的随机数(从一个数组中随机取N个元素)
有个需求,想要从一个长度为M的数组中随机的取其中的N个元素。 有两个思路: ①生成N个不重复的随机数(0到M-1之间)然后取以这N个数为下标的单元; ②将这个数组所有单元打乱,取前N个值。 第一种 这有个还不错的方法:http://blog.csdn.net/devfun/article/details/6534476 int startArray[] = {0,1,2,3,4,
如何生成N个数组与N数组名称?
[code=csharp]rn Regex newReg = new Regex("\\,");rn string[] strChina = new string[2] "正常,注销", "操作员,管理员,一般用户" ;rn如上面数组strChina,数据长度是2那么我就得生成两个数组。rnstring [] N1=newReg.Split(strChina[0].ToString());rnstring [] N2=newReg.Split(strChina[1].ToString());rnrnrn如果 strChina长度未知我要怎么样才能生成这些数组:rnstring [] N1=newReg.Split(strChina[0].ToString());rnstring [] N2=newReg.Split(strChina[1].ToString());rnrn[/code]
输入n,打印n×n的乘法口诀表
问题描述: 输入一个数字n,打印n×n的乘法口诀表 问题分析: 通过双重for循环来打印 源代码: #include &lt;stdio.h&gt; int main() { int n = 0; printf("请输入n:"); scanf("%d",&amp;n); int i,j; for(i = 1;i &lt;= n;i++) { fo...
确定n个元素的任何排序中逆序对数量
《算法导论》第三版 P24,2-4思考题list1 = [10,9,8,7,6,5,4,3,1,2]; count = len(list1);def mergeSort(list0, i, j): inversionNum = 0 if i < j: k = (int)((i + j) / 2) inversionNum = inversionNum
怎么在一个很大的数组中取第n个元素的值
用C#语言 怎么在一个很大的数组中取第n个元素的值,比如这个数组有1000000000个元素??请各位高手指点。rn
n个数组如何合并
rnrnrnrn颜色:黑白 rn尺寸:大小 rn大小:....rn .rn .rn .rn .rn一些属性不定的rnrnrnrn或rnvar arr=黑,白,绿rnvar arr2=大,小rn要实现输出rn黑大rn黑小rn白大rn白小rn绿大rn绿小rn不要告诉我用多重for循环 因为数组个数不定 貌似用递推 但小弟递推写的不好 rn望高人大哥指点 谢谢
N个BYTE数组追加
有什么好的算法让后面的数组加到前面数组后面呢,让他们合并成一个大的BYTE数组
C# N个数组相乘
有N个数组,现在存在一个变量里:rnrnvar dics = new Dictionary();rndics.Add("001",new[] 1, 1.5, 1.2);rndics.Add("002",new[] 2, 2.5, 2.2);rndics.Add("003",new[] 3, 3.5, 3.2);rn......rnrn现在需要得到:rn "1 * 2 * 3 = 6",rn "1 * 2 * 3.5 = xx",rn "1 * 2 * 3.2 = xx",rn "1.5 * 2 * 3 = xx",rn "1.5 * 2 * 3.5 = xx",rn "1.5 * 2 * 3.2 = xx",rn "1.2 * 2 * 3 = xx",rn "1.2 * 2 * 3.5 = xx",rn "1.2 * 2 * 3.2 = xx",rnrn就是数组里的数据相乘,不知有什么实现的方法? 如果需要用到递归,请问这个递归怎么写?
如何编写从n各不同元素取出m(m<=n)个元素的所有组合方式?
-