当前位置:首页 » 编程语言 » c语言中不知道组数怎么办
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中不知道组数怎么办

发布时间: 2022-12-19 10:59:52

1. C语音如果数组个数不确定应该怎样定义数组

第一种方法:最大值法。
申请的数组可能需要30个左右,于是申请数组大小固定为40;
第二种方法:动态分配,即指针。
需要大小为n的整型数组,int *pn = (int*)malloc(n*sizeof(int));

2. c语言中想定义一个不知道大小的数组怎么办

有几种方法:
1)可以定义一个足够大的数组,保证够用就好。
2)使用链表结构,用一个申请一个元素的空间
3)用malloc先申请一定的空间作为数组的空间,等到不够用的时候,再重新malloc一个更大的空间,将旧的那个空间里的数据拷贝过来,作为数组的新的空间,然后free掉旧的那个空间即可。

3. C语言不知道输入数组的个数怎么设置一维数组

可以定义一个变量i,初始化为0,每次输入成功i自加1,这样输入结束i的大小就是输入数组的个数。

4. c语言若不知道要输入多少组数据进行处理,应该怎么输入,该怎么写

main()
{
int ary[A];
int i=0,j=0,m;
int SIZE;
printf("Please input the size of the array:");
scanf("%d",&SIZE);
for(i=0;i<SIZE;i++)
{
printf("Please input number %d:",i+1);
scanf("%d",&ary[i]);
}
上面这个例子中利用SIZE大小控制for循环 来控制数组大小。这是第一种,比较简单
第二种是分配动态内存 例如:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j;
int **a;
int nrows,ncolumns;

printf("Input rows and columns length: ");
scanf("%d%d",&nrows,&ncolumns);
printf("\n");

a=(int**)malloc(nrows*sizeof(int *)); //////////int *

for(i=0;i<nrows;i++)
{
a[i]=(int*)malloc(ncolumns*sizeof(int));

for(j=0;j<ncolumns;j++)
{
scanf("%d",&a[i][j]);
}
}

for(i=0; i<nrows;i++)
for(j=0;j<ncolumns;j++)
{
printf("%d ",a[i][j]); /////////////remove &
}

free(a);
printf("\n");