shiftright函数实现将整型一维数组的元素依次循环后移一位,以下空格如何填写
shiftright函数实现将整型一维数组的元素依次循环后移一位,以下空格如何填写
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- yun6853992 2022-02-20 23:59关注
你先试着自己写这个实现啊,不然这种问题你提到这,对自己学习意义不大。
可以参考答案多多练习,必须多练习,不然理解不了。做这个题,你至少先得梳理实现这个逻辑的思路,然后根据有思路来梳理这个。
1 2 3 4 5 ==>编程 5 1 2 3 4
可以先保存数组最后下标的值,然后遍历前面的,依次从后往前重新赋值,然后最后把5赋值开始位置#include <stdlib.h> #include <stdio.h> void shiftright(float *a, int n) { int i; int t; //注意下面有个t变量 t = *(a+n-1); //理解这个吗? 数组的指针+1的动作 a是数组起始地址,+n-1其实到最后一个位置了 for(i = n-2; i>=0; i--) //已经保存最后一个变量了,要循环后移一位,是不是直接重新赋值 { a[i+1] = a[i];//后移以为 } a[0] = t; //把数组最后面的值赋值 } int main() { int i; float arr[5] = {1,2,3,4,5}; shiftright(arr, 5); for(int i=0; i<5; i++) { printf("%6.2f ", arr[i]); } printf("\n"); return 0; } //输出是 : 5.00 1.00 2.00 3.00 4.00 ```c
```
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 MYSQL 多表拼接link
- ¥15 关于某款2.13寸墨水屏的问题
- ¥15 obsidian的中文层级自动编号
- ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
- ¥15 神经网络模型一直不能上GPU
- ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
- ¥20 wpf datagrid单元闪烁效果失灵
- ¥15 券商软件上市公司信息获取问题
- ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
- ¥15 Android studio AVD启动不了