十四周OJ1数组逆序

问题及代码

/*
烟台大学计算机与控制工程学院 
文件名称:数组逆序
作    者:展一 
完成时间:2016年12月1日 
题目描述 
  输入10个整数存入一维数组,按逆序重新存放后再输出。 
输入 
  输入包括一行。10个以空格隔开的整数。 
输出 
  逆序的10个整数,整数以空格隔开。 
样例输入 
  1 3 5 9 7 6 8 2 4 0 
样例输出 
0 4 2 8 6 7 9 5 3 1 
*/  
#include <stdio.h>

int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
        scanf("%d", &a[i]);
    for(i=9;i>0;i--)
        printf("%d ", a[i]);
    printf("%d\n", a[0]);
    return 0;
}


运行结果


知识点总结


学习心得

### 关于东方博宜OJ平台上数组相关问题的解答 #### 二分查找实现 对于有序数组的操作,二分查找是一个非常高效的算法。当处理此类问题时,可以采用如下Python代码来实现: ```python def binary_search(arr, target): low, high = 0, len(arr) - 1 while low <= high: mid = (low + high) // 2 if arr[mid] == target: return mid # 找到了目标元素的位置[^1] elif arr[mid] < target: low = mid + 1 else: high = mid - 1 return -1 # 如果找不到则返回-1表示未找到该元素 ``` 此段代码展示了如何在一个升序排列的整数列表`arr`中定位指定的目标值`target`。如果找到了对应的数值,则返回它的索引;如果没有匹配项存在,则给出-1作为反馈。 #### 马的遍历(基于深度优先搜索) 针对马在棋盘上移动的问题,可以通过深度优先搜索(DFS)的方法解决。这里提供了一个简单的框架用于探索所有可达位置并记录路径: ```python directions = [(-2,-1), (-1,-2), (1,-2), (2,-1)] # 定义骑士走法的方向向量集合 def dfs(x, y, path, visited, board_size): if not is_valid_move(x, y, board_size, visited): return False visited.add((x, y)) path.append([x, y]) if all_visited(board_size, visited): print(path) return True for dx, dy in directions: nx, ny = x + dx, y + dy if dfs(nx, ny, path[:], set(list(visited)), board_size): break return False def is_valid_move(x, y, size, visited_set): """判断是否越界以及是否已经访问过""" return 0 <= x < size and 0 <= y < size and (x, y) not in visited_set def all_visited(size, visit_set): """检查是否所有的格子都被访问过了""" return len(visit_set) >= size * size ``` 这段程序定义了从起点`(0,0)`开始按照给定规则逐步扩展至整个棋盘的过程,并打印出一条完整的行走路线。注意这里的坐标系原点设置在左下角,因此随着Y轴增加实际上是指向上方移动[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值