c语言数组的编程题?
【问题描述】现有两行三列的二维数组,数据是从键盘输入。请找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出第一次出现最小值的行数和列数)。要求:1、不在子函...
【问题描述】
现有两行三列的二维数组,数据是从键盘输入。请找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出第一次出现最小值的行数和列数)。
要求:
1、不在子函数中输出。
2、使用指定子函数,不得修改。
void GetMin(int a[][N],int m,int n,int b[])//m是行,n是列,b数组来存储最小值、行和列的结果
【输入形式】
主函数中循环输入2行3列数组元素。
【输出形式】
输出最小值及所在行号和列号
【样例输入】
7 6 4
4 3 3
【样例输出】
min=3,2,2 展开
现有两行三列的二维数组,数据是从键盘输入。请找出其中最小的数,并输出对应的行号和列号(如果最小值有多个,输出第一次出现最小值的行数和列数)。
要求:
1、不在子函数中输出。
2、使用指定子函数,不得修改。
void GetMin(int a[][N],int m,int n,int b[])//m是行,n是列,b数组来存储最小值、行和列的结果
【输入形式】
主函数中循环输入2行3列数组元素。
【输出形式】
输出最小值及所在行号和列号
【样例输入】
7 6 4
4 3 3
【样例输出】
min=3,2,2 展开
1个回答
展开全部
#include<stdio.h>
#define N 3
#define M 2
void GetMin(int a[][N],int m,int n,int b[]) { int i,j;
b[0]=b[1]=0;
for ( i=0;i<m;i++ ) for ( j=0;j<n;j++ ) if ( a[i][j]<a[b[0]][b[1]] ) { b[0]=i;b[1]=j; }
}
void main() { int a[M][N],i,j,b[2];
for ( i=0;i<M;i++ ) for ( j=0;j<N;j++ ) scanf("%d",&a[i][j]);
GetMin(a,M,N,b); printf("min=%d,%d,%d\n",a[b[0]][b[1]],b[0],b[1]);
}
#define N 3
#define M 2
void GetMin(int a[][N],int m,int n,int b[]) { int i,j;
b[0]=b[1]=0;
for ( i=0;i<m;i++ ) for ( j=0;j<n;j++ ) if ( a[i][j]<a[b[0]][b[1]] ) { b[0]=i;b[1]=j; }
}
void main() { int a[M][N],i,j,b[2];
for ( i=0;i<M;i++ ) for ( j=0;j<N;j++ ) scanf("%d",&a[i][j]);
GetMin(a,M,N,b); printf("min=%d,%d,%d\n",a[b[0]][b[1]],b[0],b[1]);
}
追问
这样输出的结果是3,1,1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询