【C语言】 数组的初始化、逆置、清空

#include <stdio.h>

void init(int *arr, int size)
{
	int i = 0;
	for (i = 0; i < size; i++)
	{
		arr[i] = i;
	}
}
void print(int *arr, int size)
{
	int i = 0;
	for (i = 0; i < size; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}

void empty(int *arr, int size)
{
	int i = 0;
	for (i = 0; i < size; i++)
	{
		arr[i] = 0;
	}
}

static void swap(int *p1, int *p2)
{
	int tmp = *p1;
	*p1 = *p2;
	*p2 = tmp;
}

void reverse(int *arr, int len)
{
	int left = 0;
	int right = len - 1;
	while (left < right)
	{
		swap(&arr[left], &arr[right]);
		left++;
		right--;
	}
}
int main()
{
	int arr[10];
	int len = sizeof(arr) / sizeof(arr[0]);
	init(arr,len);
	print(arr, len);
	reverse(arr, len);
	print(arr, len);
	empty(arr, len);
	print(arr, len);

	system("pause");
	return 0;
}
时间: 2024-10-13 17:24:58

【C语言】 数组的初始化、逆置、清空的相关文章

C语言:实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置

#include<stdio.h> void init(int arr[],int len) {  int i=0;  printf("初始化数组->:\n");  for(i=0;i<len;i++)  {    scanf("%d",&arr[i]);   }  } void reverse(int arr[],int len) {  int i=0;  printf("逆置数组->:\n");  for

创建一个数组, 实现初始化数组、清空数组、完成数组元素的逆置。

#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"

c语言,将字符串逆置,如&quot;i am a student&quot;逆置为&quot;student a am i&quot;

#include<stdio.h> #include<assert.h> /*求字符串长度*/ int my_strlen(char *str)           {         assert(str); int count=0; while(*str) { count++; str++; } return count; } /*逆置函数*/ char *reverse_str(char *start,char *end) { char *ret=start; char te

C语言数组默认初始化问题

之前看到过,C语言int数组创立完成后,如果没有对其初始化,该数组所有元素默认值为0,今天在DEV上发现并不会这样,如果没有对它初始化,其默认值为随机数.如下: #include <stdio.h>int main(void){ int n; int c[10]; for(n=0;n<10;n++) { printf("%d\n",c[n]); }} 结果如下:

c语言数组不同初始化方式的结果

第一种初始化方式: #include <stdio.h> int main() { int numbers[5]={12,14}; for (int i=0; i<5; i++) { printf("numbers[%d]=%d\n",i,numbers[i]); } return 0; } 结果为: numbers[0]=12 numbers[1]=14 numbers[2]=0 numbers[3]=0 numbers[4]=0 可见除指定赋值的元素外,其他数组元

数据结构c语言中单链表就地逆置问题

法一: list_node *list_reverse(list_node *head) { list_node *p = head->next; list_node *q = NULL; head->next = NULL; while(p != NULL) { q = p->next;          /*保存下一个节点*/ p->next = head->next; /*把节点插入到头结点后面*/ head->next = p;       /*头结点一直指向最

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

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

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

创建一个数组, 实现函数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++)

创建数组,用函数分别实现初始化、清空和逆置。自己设计函数的参数,返回值

创建一个数组, 实现函数init()初始化数组. 实现empty()清空数组. 实现reverse()函数完成数组元素的逆置. 要求:自己设计函数的参数,返回值.*/ #include<stdio.h> #include<cstdlib> void init(int* arr, int length)//没有为arr开辟空间  可以不初始化. { int i = 0; for (i = 0; i<length; i++) { arr[i] = i;// scanf_s(&qu

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

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",&