C语言 一维数组程序设计

一)下列程序均可以为一维数组元素赋值,请输入程序并运行。比较各方法的不同。

1.在定义数组的同时对数组初始化,并理解数组名变量的值。

#include "stdio.h"
int main(void)
{
int a[4] ={5,4,9,21};	
printf("\n%d%d%d%d\n",a[0],a[1],a[2],a[3]);
printf("%ld\n",a);
return 0;
}
//解释数组名是一个地址,它可以不可以被赋值
// 数组名是一个地址

C语言 一维数组程序设计_第1张图片

2.用语句为一维数组元素进行赋值

#include"stdio.h"
int main(void)
{
int a[5];
a[0]=22;
a[1]=24;
a[2]=26;
a[3]=28;
printf("\n%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]);
return 0;
}
//解释输出a[4]的结果。a[4]没有被赋值,此时a[4]=0

C语言 一维数组程序设计_第2张图片

 3.用循环结构为每个数组元素赋值,输出该数组的每一个元素的值

#include "stdio.h"
int main(void) 
{
	int i,a[5];
	for(i=0; i<5; i++)
		scanf("%d",&a[i]);
	printf("\n");	
	for(i=0; i<5; i++)
		printf("%d ",a[i]);
	printf("\n");
	printf("%ld %ld\n",a,&a[0]);
return 0;
} 
//&a[i]是地址,a[i]是地址里存储的值
//

C语言 一维数组程序设计_第3张图片

 编写一程序,为一维数组a中的元素赋值,并按照逆序输出。

#include"stdio.h"
int main(void)
{
int i, a[10]; //定义循环变量i和一维数组a
for(i=0;i<=9;i++)
    scanf("%d",&a[i]);
for(i=9;i>=0;i--)/*请把()中的代码补充完整*/
    printf("%d ",a[i]);/*按照逆序输出*/
printf("\n");
printf("%ld \n",&a[0]);     
printf("%ld \n",&a[1]); 
printf("%ld \n",&a[2]);                                      /*在下面补充代码,输出各元素的地址,注意格式符用%ld*/
printf("\n");
return 0;
}
While
#include"stdio.h"
int main(void)
{
int a[10]; //定义循环变量i和一维数组a
int j=9;
int i=0;
while(i<=9)
    {
    scanf("%d",&a[i]);
    i++;}
while(j>=0)/*请把()中的代码补充完整*/
   {
    printf("%d ",a[j]);/*按照逆序输出*/
    j--;}
printf("\n");
printf("%ld \n",&a[0]);     
printf("%ld \n",&a[1]); 
printf("%ld \n",&a[2]);/*在下面补充代码,输出各元素的地址,注意格式符用%ld*/
printf("\n");
return 0;
}

C语言 一维数组程序设计_第4张图片

(三)编写程序,输出一维数组arr中的元素最小值及其下标。

编程提示:

1.定义一个变量min,它的类型与定义数组时用的类型一致,用它来存放数组各元素的最小值,min=arr[0],然后定义一个unsigned变量pos,初始化为0。即从数组第零个元素开始判断。

2.通过循环,依次判断数组中的每一个元素arr[i]是否小于arr[pos],如果小于,则将把i值赋给pos,将arr[i]赋给arr[pos]。

3.循环结束后,pos则为最小值下标,arr[pos]为最小值,并输出

#include"stdio.h"
int main(void)
{
int i=0;
int arr[10]={9,8,7,6,1,3,5,18,2,4};
int min=arr[0];  /*min用于存放最小值*/
unsigned pos=0; /*pos用于存放最小值的下标*/
printf("for 循环\n");
for(i=0;i<11;i++)
    if (arr[i]

C语言 一维数组程序设计_第5张图片

四)分别求出一维数组中下标为偶数和奇数的元素之和,并输出。

编程提示:

1.定义一个数组arr并初始化。假设定义的元素个数为N(N大小等于4)。

2.定义两个整型变量evensum和oddsum,用于存放下标为偶数和奇数的元素和,并把它们均初始化为0。

3.定义一个变量k,如果N为奇数,令K=N-1,否则K=N;从数组的第0个元素开始,每次循环变量i递增2,则循环结束一直到i

4.循环结束后,如果N为奇数,则执行evensum+=arr[i];

5.输出evensum和oddsum元素之和。

#include "stdio.h"
int main(void)
{
int N=4;
int k;
int i, evensum=0,oddsum=0; 
int arr[N];
for(i=0;i

 C语言 一维数组程序设计_第6张图片