C+C++输入n行m列二维数组(n<=10,m<=10),输入整数c,输出数组的第c个数字(编号从1开始)。
时间: 2024-02-18 17:05:05 浏览: 71
好的,以下是 C 语言实现:
```c
#include <stdio.h>
int main() {
int n, m, c;
scanf("%d%d", &n, &m);
int a[n][m];
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
scanf("%d", &a[i][j]);
}
}
scanf("%d", &c);
int row = (c-1) / m;
int col = (c-1) % m;
printf("%d", a[row][col]);
return 0;
}
```
这个程序与之前提供的 C++ 程序非常类似,只是使用了 scanf 和 printf 来进行输入输出。其余部分的实现是一样的,不再赘述。
如果你有其他问题,可以继续问我。
相关问题
描述 给定一个m行n列的二维数组,输出矩阵的所有外围元素总和 (外围元素:第一行,第一列,第m行,第n列)【保证求的和不超过int范围】 输入 输入m+1行 第一行为m 和 n ( 2 < = � < = 20 ; 10 < = � < = 100 2<=m<=20;10<=n<=100) 后面的m行,每行n个数,用空格隔开 输出 输出一个整数,表示外围元素之和 输入样例 1 3 4 1 2 3 4 1 1 1 1 1 4 3 7 输出样例1 27 提示 【数据范围】 2 < = � < = 20 ; 10 < = � < = 100 2<=m<=20;10<=n<=100 【样例解释】 image.png 边缘元素之和:1+2+3+4+1+1+1+4+3+7=27 c++ 代码
```c++
#include <iostream>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
int matrix[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
int sum = 0; // 每个外围元素的总和
// 第一行
for (int i = 0; i < n; i++) {
sum += matrix[0][i];
}
// 最后一行
for (int i = 0; i < n; i++) {
sum += matrix[m - 1][i];
}
// 第一列
for (int i = 1; i < m - 1; i++) {
sum += matrix[i][0];
}
// 最后一列
for (int i = 1; i < m - 1; i++) {
sum += matrix[i][n - 1];
}
cout << sum << endl;
return 0;
}
```
描述 一个n行n列的二维数组,请你求左对角数字的 和与积 (注意和与积的初始化)[ 2 < = n < = 10 2<=n<=10] 输入 输入n+1行 第一行为n ([ 2 < = n < = 10 2<=n<=10]) 后面的n行 每行n个整数 用空格隔开(每个数字不超过9) 输出 两个整数 左对角的和和积,用换行隔开 输入样例 1 3 1 2 5 3 4 8 7 6 9 输出样例1 14 36 c++ 代码
以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, sum = 0, prod = 1;
cin >> n;
int a[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
if (i == j) {
sum += a[i][j];
prod *= a[i][j];
}
}
}
cout << sum << endl << prod << endl;
return 0;
}
```
输入样例:
```
3
1 2 5
3 4 8
7 6 9
```
输出样例:
```
14
36
```
阅读全文