c语言数组的实验原理

Python09

c语言数组的实验原理,第1张

c语言数组的实验原理:

1、通过实验掌握数组在内存中的存放形式;

2、掌握一维数组和二维数组的定义和数组元素的引用;

3、掌握各种字符串库函数的用法。

c语言中直接输出一个二维数组是用数组来访问输出的,例子:

#include<stdio.h>

#define M 4

#define N 3

void main()

{

int a[M][N],i,j

for(i=0i<Mi++)

for(j=0j<Nj++)

a[i][j]=3*i+j

for(i=0i<Mi++)

{ for(j=0j<Nj++)

printf("%d\t",a[i][j])//直接用数组来访问

printf("\n")

}

}

除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。

main()

{ int a[10],n,i,j,_________________; /*定义,下面出现了min

printf("input n=");

scanf("%d",&n);

printf("input array a[0]a[l]… a[%d]:\n",n-1);

for(i=0;i<n;i++)

scanf("%d",______________________); /*依次存储数据a[i]

printf("before sort:array\n");

for(i=0;i<n;i--)

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

printf("\n");

for(i=0;i<_______________________;i++) /*最大为n-2,倒数第二个

{ min=i;

for(j=___________________;j<n;j++) /*从第二个开始 j=i+1

if(a[j]<a[min])_________________;/*a[i]=a[j]交换小的到前面

ax=____________________;

a[i]=a[min];

____________________=ax;} /*a[min],

printf("after sort:array\n");

for(i=0;i<ni++)

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

printf("\n");

这份代码有比较大问题,我觉得不科学

我修改了下

main()

{ int a[10],n,i,j,min;

printf("input n=");

scanf("%d",&n);

printf("input array a[0]a[l]… a[%d]:\n",n-1);

for(i=0;i<n;i++)

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

printf("before sort:array\n");

for(i=0;i<n;i--)

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

printf("\n");

for(i=0;i<n-2;i++)

{ min=i;

for(j=i+1;j<n;j++)

if(a[j]<a[min])

{ a[i]=a[j];

a[i]=a[min]; }

}

printf("after sort:array\n");

for(i=0;i<ni++)

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

printf("\n");