在主函数中输入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 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题