在主函数中输入20个整数到一维数组中,用数组做实参调用函数 invertlint*p,int m,int n),对从指定位置m开始的n个数按逆序重新排列,然后在主函数中输出新的数列
2条回答 默认 最新
- CSDN专家-link 2022-12-09 14:04关注
首尾交换就行了。但这个m是从0开始的位置,还是从1开始的位置呢?假设是从1开始:
#include <stdio.h> void invert(int *p,int m,int n) { int a = m-1; int b = n+m-2; while(a<b) { int t = p[a]; p[a] = p[b]; p[b] = t; a++; b--; } } int main() { int a[20],i,m,n; for(i=0;i<20;i++) scanf("%d",&a[i]); scanf("%d%d",&m,&n); invert(a,m,n); for(i=0;i<20;i++) printf("%d ",a[i]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 关于大棚监测的pcb板设计
- ¥20 sim800c模块 at指令及平台
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计