C语言刷题函数2 - 用函数实现数组操作

题目要求:

  1. 实现函数init() 初始化数组为全0
  2. 实现print() 打印数组的每个元素
  3. 实现reverse() 函数完成数组元素的逆置。

一.函数设计原型

1.void init(int arr\[\],int sz); //初始化数组

2.void print(int arr\[\],int sz);//打印数组

3.void reverse(int arr\[\],int sz);//数组逆置

二.初始化函数

代码演示

复制代码
void Init(int arr[], int sz, int set)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		arr[i] = set;//每个位置放0
	}
}

三.打印数组

复制代码
void Print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);//打印数字和空格
	}
	printf("\n");//换行
}

四.逆置数组(难点)

1.基本思路:把数组开头和结尾的元素互换,让后往中间继续交换,直到所有元素交换完毕。

2.重要变量:

int letf = 0;//左边位置,从第一个元素开始。

int right = 0;//右边位置,从最后一个元素开始。

3.思路:

4.代码:

复制代码
void Reverse(int arr[], int sz)
{
	int left = 0;
	int right = sz - 1;

	//数组转置
	while (left < right)//循环条件,左下标 < 右下标
	{
		int tmp = arr[left];//临时保存左边的值
		arr[left] = arr[right];//把右边的值存放在左边
		arr[right] = tmp;//把临时存放的值放到右边
		left++;
		right--;
	}
}

五.所有代码

复制代码
#include <stdio.h>
void Init(int arr[], int sz, int set)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		arr[i] = set;//每个位置放0
	}
}


void Print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);//打印数字和空格
	}
	printf("\n");//换行
}


void Reverse(int arr[], int sz)
{
	int left = 0;
	int right = sz - 1;

	//数组转置
	while (left < right)//循环条件,左下标 < 右下标
	{
		int tmp = arr[left];//临时保存左边的值
		arr[left] = arr[right];//把右边的值存放在左边
		arr[right] = tmp;//把临时存放的值放到右边
		left++;
		right--;
	}
}

int main()
{
	int arry[] = { 0,1,2,3,4,5,6,7,8,9 };//定义数组
	int sz = sizeof(arry) / sizeof(arry[0]);//求数组长度
	Print(arry, sz);//打印
	Reverse(arry, sz);//逆置
	Print(arry, sz);//打印
	Init(arry, sz, 0);//变0
	Print(arry, sz);//打印
	return 0;
}

六.运行结果

如果有错误和不全的地方,欢迎大家批评指正。

相关推荐
程序喵大人14 小时前
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里
开发语言·c++·stl
cui_ruicheng14 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
wdfk_prog15 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
晴空了无痕16 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
神明不懂浪漫16 小时前
【第五章】Java中的继承与多态
java·开发语言
神州世通16 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
碎光拾影17 小时前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
GeekArch17 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
AC赳赳老秦17 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
qq_25183645718 小时前
基于java Web 动漫视频网站毕业论文
java·开发语言·前端