实例1

简介: 实例1.

有 n 个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。
程序分析:可以使用一个辅助数组来保存需要移动的元素,然后再将元素按照要求移动到正确的位置。
实例1

include

// 通过 shiftArray 函数来实现数组元素的移动。
void shiftArray(int arr[], int n, int m) {
int temp[m];

// 保存最后 m 个数到临时数组
for (int i = n - m, j = 0; i < n; i++, j++) {
    temp[j] = arr[i];
}

// 将前面的 n-m 个数向后移动 m 个位置
for (int i = n - m - 1; i >= 0; i--) {
    arr[i + m] = arr[i];
}

// 将临时数组中的数放到最前面
for (int i = 0; i < m; i++) {
    arr[i] = temp[i];
}

}
// 在 main 函数中获取用户输入的数组和要移动的位置,调用s hiftArray 函数,最后输出移动后的数组

int main() {
int n, m;

printf("请输入整数个数 n:");
scanf("%d", &n);

printf("请输入向后移动的位置 m:");
scanf("%d", &m);

int arr[n];

printf("请输入 %d 个整数:", n);
for (int i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
}

shiftArray(arr, n, m);

printf("移动后的数组:");
for (int i = 0; i < n; i++) {
    printf("%d ", arr[i]);
}
printf("\n");

return 0;

}

相关文章
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
人工智能 数据管理 Serverless
手把手教你如何10分钟获得一位24小时AI专家助手
【8月更文挑战第1天】手把手教你如何10分钟获得一位24小时AI专家助手
380 2
|
NoSQL Serverless Redis
Redis的实现四:事件循环和计时器
这篇文章详细解释了在Redis实现中如何通过引入事件循环和计时器来处理超时情况,包括使用链表数据结构管理计时器、更新事件循环以及处理计时器触发的事件。
118 1
|
Java API
java中线程管理
java中线程管理
70 3
|
缓存 关系型数据库 MySQL
MySQL8 中文参考(八十九)(4)
MySQL8 中文参考(八十九)
76 1
|
弹性计算 关系型数据库 MySQL
一键部署LNMP(源码安装版本)
【4月更文挑战第29天】
183 2
|
弹性计算 运维 Kubernetes
「禾连健康」轻松实现弹性降本20%以上,竟然是因为使用了它!
阿里云Serverless应用引擎服务 SAE支持「禾连健康」低门槛微服务化,基于秒级弹性能力,按需自动弹、同时通过一键启停开发测试环境,极大的提升了资源利用率,轻松实现弹性降本20%以上。那么这款产品具体有什么过人之处?适用于什么场景?有什么最佳实践和业务价值?本文将为您深入剖析。
3622 82
「禾连健康」轻松实现弹性降本20%以上,竟然是因为使用了它!
|
SQL 消息中间件 Java
28个实战案例最终篇
28个实战案例最终篇
256 0
|
SQL 数据库
关系数据库
关系数据库
187 0
|
开发框架 数据库
GoFrame代码优化:使用gconv类型转换 避免重复定义map
最近一直在研究 GoFrame 框架,经过一段时间的使用、总结、思考,发现确实不失为一款非常值得使用的企业级开发框架。
555 0