C语言数组小编程

Python014

C语言数组小编程,第1张

#include<stdio.h>

main()

{

int a[10]

int i,m,t,j=0

printf("请输入10个整数\n")

for(i=0i<10i++)

scanf("%d",&a[i])

m=a[0]

for(i=0i<10i++)

{

if(a[i]<m)

{

m=a[i]

j=i}

}

t=a[0]

a[0]=m

a[j]=t

for(i=0i<10i++)

printf("%d ",a[i])

}

不能那么作。

如果一定要这么做。

用这样:

int *a

a=(int *)malloc(sizeof(int)*20)//定义a[20]

a=(int *)realloc(a,sizeof(int)*10)//把之前a的值带过来,并且分配新的数组大小。

数组太多,数组太大,所以得运行错误。

“数组太小”在这里只表示有运行错误,不是真的说太小。

如果语句中用到的下标大于等于2000,(超过声明),当然也是“数组太小”错误。

数组较多,较大应当采用动态分配内存法,即声明为指针,要用时再分配内存:

main()

{

int

*a1,*a2,*a3,*a4

int

*ht,*h1,*h2,*h3,*h4

int

*b1,*b2,*b3,*b4

int

NN_b1,NN_b2,NN_b3,NN_b4

要用b1,而且知道数组大小是NN_b1:

b1

=

(int

*)

malloc(NN_b1

*

sizeof(int))

接下来可以用

b1[i],

i=0,1,2,..NN_b1-1。

不再用了,就

用函数

free

释放掉它的内存。

}

数组太多,数组太大,所以得运行错误。

“数组太小”在这里只表示有运行错误,不是真的说太小。

如果语句中用到的下标大于等于2000,(超过声明),当然也是“数组太小”错误。

数组较多,较大应当采用动态分配内存法,即声明为指针,要用时再分配内存:

main()

{

int

*a1,*a2,*a3,*a4

int

*ht,*h1,*h2,*h3,*h4

int

*b1,*b2,*b3,*b4

int

NN_b1,NN_b2,NN_b3,NN_b4

要用b1,而且知道数组大小是NN_b1:

b1

=

(int

*)

malloc(NN_b1

*

sizeof(int))

接下来可以用

b1[i],

i=0,1,2,..NN_b1-1。

不再用了,就

用函数

free

释放掉它的内存。

}

数组太多,数组太大,所以得运行错误。

“数组太小”在这里只表示有运行错误,不是真的说太小。

如果语句中用到的下标大于等于2000,(超过声明),当然也是“数组太小”错误。

数组较多,较大应当采用动态分配内存法,即声明为指针,要用时再分配内存:

main()

{

int

*a1,*a2,*a3,*a4

int

*ht,*h1,*h2,*h3,*h4

int

*b1,*b2,*b3,*b4

int

NN_b1,NN_b2,NN_b3,NN_b4

要用b1,而且知道数组大小是NN_b1:

b1

=

(int

*)

malloc(NN_b1

*

sizeof(int))

接下来可以用

b1[i],

i=0,1,2,..NN_b1-1。

不再用了,就

用函数

free

释放掉它的内存。

}

数组太多,数组太大,所以得运行错误。

“数组太小”在这里只表示有运行错误,不是真的说太小。

如果语句中用到的下标大于等于2000,(超过声明),当然也是“数组太小”错误。

数组较多,较大应当采用动态分配内存法,即声明为指针,要用时再分配内存:

main()

{

int

*a1,*a2,*a3,*a4

int

*ht,*h1,*h2,*h3,*h4

int

*b1,*b2,*b3,*b4

int

NN_b1,NN_b2,NN_b3,NN_b4

要用b1,而且知道数组大小是NN_b1:

b1

=

(int

*)

malloc(NN_b1

*

sizeof(int))

接下来可以用

b1[i],

i=0,1,2,..NN_b1-1。

不再用了,就

用函数

free

释放掉它的内存。

}