佛山微信网站建设哪家好,做电商讲师课程的网站,教育网站制作一般多少钱,海澜之家的网站建设目标提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 目录 一、逆序函数是什么#xff1f; 二、逆序函数原码 1.直接逆序 2.创建临时数组逆序 三、结言 #x1f4a5;一、逆序函数是什么#xff1f;
示例#xff1a;输入1 4 … 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 目录 一、逆序函数是什么 二、逆序函数原码 1.直接逆序 2.创建临时数组逆序 三、结言 一、逆序函数是什么
示例输入1 4 7 9 3
输出3 9 7 4 1
通俗来说就是将数组一行数据倒着打印。 ✨二、逆序函数原码
1.直接逆序 思路
1.利用scanf与for循环获取多组数据
2.用left与right两个变量进行左右交换交换完左边向右靠近右边向左边靠近继续交换直到 leftright为止
图示如下 #define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
void reverse()
{int i 0;int j 0;int tmp 0;printf(请输入你要输入数的个数:);scanf(%d, j);int arr[] { 0 };//注意这里数组没有确定个数for (i 0; i j; i){scanf(%d, arr[i]);}int left 0;int right j-1;while (left right)//利用左右下标逐渐向中间靠近{tmp arr[left];arr[left] arr[right];arr[right] tmp;left;right--;}for(i 0;i j-1;i){ printf(%d\n,arr[i]);}}
int main()
{reverse();return 0;
}由于上述代码利用数组存储个数时没有确定数组个数就会导致如下情况 正确做法 int arr[10] {0}//允许输入十个数以内的逆序也可换成100或者其他 修改后代码如下
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
void reverse()
{int i 0;int j 0;int tmp 0;printf(请输入你要输入数的个数10:);scanf(%d, j);int arr[10] { 0 };for (i 0; i j; i){scanf(%d, arr[i]);}int left 0;int right j-1;while (left right)//利用左右下标逐渐向中间靠近{tmp arr[left];arr[left] arr[right];arr[right] tmp;left;right--;}for(i 0;i j-1;i){ printf(%d\n,arr[i]);}}
int main()
{reverse();return 0;
}2.创建临时数组逆序 思路
将数组的数从后往前放入到临时创建的数组中 #define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
void reverse()
{int i 0;int j 0;int tmp 0;printf(请输入你要输入数的个数(10):);scanf(%d, j);int arr[10] { 0 };for (i 0; i j; i){scanf(%d, arr[i]);}//直接逆序//tmp arr[j];//先将最后一个数存储起来//for (i j; i 0; i--)//{// arr[j] arr[j - 1];//循环逆转//}//arr[0] tmp;//将第一个储存最后一个数完成逆转//创建临时数组实现逆序int tem[10] { 0 };//创建临时数组for (i 0; i j; i){tem[i] arr[j-i- 1];//将arr数组后面的数存储到tem数组前面}for(i 0;i j-1;i)//打印逆序后的数组{ printf(%d\n,arr[i]);}}
int main()
{reverse();return 0;
}三、结言 以上就是C语言实现逆序数组完整实现啦~土土这里用了两种方法一种是直接发利用左右两个指针来遍历另一种是创建临时数组来将原来的数组中的数从后往前放置两种方法各有优缺点哦~如果有什么问题欢迎打在评论区或者私法给我哦~