1 条题解
-
0
C :
#include<stdio.h> int find (int a[][100], int m, int n, int num, int *row, int *col) { int i,j,x=0; *row = 0; *col = 0; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i][j]==num) { *row = i; *col = j; return 1; } } } return 0; } int main() { int a[100][100]; int m,n; int i,j,x; int (*p)[100]; int num; int row; int col; scanf("%d",&m); scanf("%d",&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } } p = a; scanf("%d",&num); x = find (a, m, n, num,&row,&col); if(x == 1) { printf("%d %d",row,col); } if(x == 0) { printf("NOT FOUND"); } return 0; }
C++ :
#include<stdio.h> int main() { int find (int *p, int n, int m, int num, int *row, int *col); int *p, m, n, num, *row, *col, i, j, a[100][100], d, c, b; p=a[0]; row = &d; col = &c; scanf("%d%d", &n, &m); for(i=0; i<n*m; i++) { scanf("%d", p+i);/*修改正确的关键地方*/ } scanf("%d", &num); b = find (p, n, m, num, row, col); if(b==1) printf("%d %d", d, c); else if(b==0) printf("NOT FOUND"); } int find(int * p, int n, int m, int num, int *row, int *col) { int i, j, s; *row = -1; *col = -1; for(i = 0 ; i < n ; i++) { for (j = 0 ; j < m ; j++) { if(*(p + i*m + j) == num) { *row = i; *col = j; return 1; } } } return 0; }
- 1
信息
- ID
- 1713
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者