输入 输入n,m(1<=n,m<=100)表示豆子摆成的二维数组有n行m列。 再输入二维数组各个位置的豆子的序号x(1<=x<=10000) 最后输入x,y表示第x行第y列的那颗豆子 输出 输出一个整数代表豆子的序号 c语言写出程序
时间: 2024-10-13 12:09:46 浏览: 39
这是一个典型的二维数组查找的问题,在C语言中可以使用循环结构结合数组索引来解决。下面是一个简单的C语言函数示例,用于找到给定坐标(x, y)对应二维数组中的豆子序号:
```c
#include <stdio.h>
// 定义二维数组类型
int beans[100][100];
// 函数原型,接受两个整数作为参数
int findBean(int x, int y) {
if (x >= 0 && x < 100 && y >= 0 && y < 100) { // 检查索引是否有效
return beans[x][y]; // 返回对应位置的豆子序号
} else {
printf("坐标越界!\n"); // 如果坐标无效,打印错误信息
return -1; // 返回-1表示找不到或坐标错误
}
}
int main() {
int n, m;
scanf("%d %d", &n, &m); // 读取豆子的行数和列数
for (int i = 0; i < n; i++) { // 遍历并初始化数组
for (int j = 0; j < m; j++) {
int bean序号;
scanf("%d", &bean序号);
beans[i][j] = bean序号; // 存储每个豆子的序号
}
}
int queryX, queryY;
scanf("%d %d", &queryX, &queryY); // 读取查询的坐标
int result = findBean(queryX, queryY);
if (result != -1) {
printf("豆子序号为:%d\n", result);
}
return 0;
}
```
在这个程序中,`findBean`函数接收查询的行号和列号,然后检查它们是否在数组范围内。如果有效,就返回对应的豆子序号;如果越界,则返回-1并输出错误信息。在主函数里,首先读入豆子的位置和序号,然后处理查询请求并输出结果。
阅读全文