利用函数调用实现数组初始化、逆置和清零

4.创建一个数组,

实现函数init()初始化数组、

实现empty()清空数组、

实现reverse()函数完成数组元素的逆置。

要求:自己设计函数的参数,返回值。

#include <stdio.h>

//数组变化

void init(int arr[],int len)

//数组初始化

{

int i=0;

int num=0;

printf("初始化数组。\n");

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

{

scanf("%d",&num);

arr[i]=num;

}

}

void empty(int arr[],int len)

//清空数组

{

int i=0;

printf("清空数组:\n");

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

{

arr[i]=0;

}

}

void reverse(int arr[],int len)

//数组元素逆置

{

int arr2[5]={0,0,0,0,0};

int i=0;

printf("数组元素逆置:\n");

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

{

arr2[i]=arr[i];

}

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

{

arr[i]=arr2[len-1-i];

}

}

int main()

{

int arr[5]={1,2,3,4,5};

int i=0;

int len=sizeof(arr)/sizeof(arr[0]);

init(arr,len);

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

{

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

}

printf("\n");

reverse(arr,len);

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

{

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

}

printf("\n");

empty(arr,len);

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

{

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

}

printf("\n");

return 0;

}

调用数组时,传递的参数是数组首元素的地址,形式为*arr或arr[],其中arr为数组名。在函数体中,直接对数组的下标进行变化,直接改变的就是数组内容。

时间: 2024-10-07 06:29:08

利用函数调用实现数组初始化、逆置和清零的相关文章

C语言创建一个数组,利用函数调用实现数组的初始化,逆置和清零

★创建一个数组,实现函数init初始化数组.empty清空数组.reverse函数完成数组元素的逆置. #include<stdio.h> #include<stdlib.h> #include<string.h> void menu() { printf("****************************************\n"); printf("***************1.初始化数组*************\n&

用函数调用的方法实现数组的 初始化、逆置、清零

4. #include<stdio.h> void init(int arr[], int size){ int i = 0; for (i = 0; i < size; i++)  scanf("%d", &arr[i]); }void empty(int arr[], int size){ int i = 0; for (i = 0; i < size; i++) {  arr[i] = 0; } }void reverse(int arr[], i

数组的逆置

/* 数组的逆置 */ #include <stdio.h> int main() { int i,n,temp; scanf("%d",&n); int a[n]; for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=0;i<n/2;i++){ temp=a[i]; a[i]=a[n-i-1]; a[n-i-1]=temp; } for(i=0;i<n;i++){ printf(&

创建一个数组,实现初始化、逆置和清空

创建一个数组, 实现函数init()初始化数组. 实现empty()清空数组. 实现reverse()函数完成数组元素的逆置. 要求:自己设计函数的参数,返回值. 代码如下: #include<stdio.h> #include<stdlib.h>   void init(int arr[],int len)/*数组不能写成arr应写为arr[]或*arr*/ { int i; printf("初始化数组:\n"); for(i=0;i<len;i++)

求数组逆置(数组与指针实现)

数组逆置 ??基本思路: ??将a[0]与a[n-1]对换,再将a[1]与a[n-2]对换-直到将a[int(n-1)]与a[int((n-1)/2)-1]对换. ??如图所示: ??使用数组来实现: //数组实现逆置 void conver_arr(int c,int a[]) { int low =0; int high = c -1; for(int i =0; i < c/2; i++) { if(low < high) { int temp = a[c - i -1]; a[c -

对于&quot;单链表逆置和递归&quot;的问题的理解.

一. 相关知识要点: 学习或了解基础数据结构和C语言, 对基础链表知识或相关知识有概况性认识. 例如: 本题目结构为: 1 #define elem_type int 2 3 typedef struct _single_list { 4 elem_type data; //所存的数据元素 5 _single_list *next; //所存的指针元素 6 }ListNode; 二. 问题的思考过程(本题以3种不同的方法解决): <1>类似于我们学习的C语言基础知识中的冒泡排序(参考C程序设计

数组初始化及赋值的方法,memset的使用

1. 数组初始化: 即定义时即赋值: int a[4]={0}; //每一个位置的int都为0 int b[4]={1}; //只有第一个元素为1,其他都为0 所以要想把数组初始化为其他值,则需要一个个的指定值: int b[4]={1,2,3,4};//比如指定为1,2,3,4 或者先统一初始化为0,再利用for循环改变数组的每一个元素. 2. 数组的赋值: 在定义过后,需要给数组每一个元素赋值时,不能再像初始化那样: a[4] = {1,3,5,7}; //这是错误的, a={1,3,5,7

poj3067Japan——树状数组查找逆序对

题目:http://poj.org/problem?id=3067 利用树状数组查找逆序对. 代码如下: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int t,n,m,k; long long f[1005],ans; struct N{ long long aa,bb; }edge[1000005]; bool

SDUT 3327 顺序表应用4:元素位置互换之逆置算法

顺序表应用4:元素位置互换之逆置算法 Time Limit: 10 ms Memory Limit: 570 KiB Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N).空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段.注意:先将顺序