您的位置:首页 > 移动开发 > 微信开发

小程序:求解二维数组的最大最小元素

2012-08-10 23:02 225 查看
程序写的很烂,很白,但我还是贴出来,呵呵~~

以下是第一版,然后我又改了一下弄了个版本二,还有很多有待提高的,过段时间再回头改,这样会更有收获。

/*
题目:求解二维数组的最大最小元素
版本:Ver-1
*/

#include<stdio.h>

int main(void)
{
int a[3][4]={{89,67,24,35},{101,129,334,2},{9,3,7,0}};
int max = a[0][0];
int min = a[0][0];

for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
{
if(a[i][j]>max)
max = a[i][j];
if(a[i][j]<min)
min = a[i][j];
}

printf("The max is %d, the min is %d\n",max,min);

return 0;
}


/*
题目:求解二维数组的最大最小元素
版本:Ver-2
修正:1.动态创建数组
说明:该版程序对用户的输入没有做验证,一旦用户输入数组的行列格式不符合要求时,程序会出现异常,
这个问题放在下个版本修改吧,这个问题暂时不改了。。。
*/

#include<stdio.h>

#define MAXN 20
int a[MAXN][MAXN];

void BuildArray(int *row, int *line)
{
printf("Please input the Row and Line of the Array,eg:Row,Line\n");
scanf("%d,%d",row,line);

for(int i=0;i<*row;i++)
for(int j=0;j<*line;j++)
{
printf("\nPlease input the array[ %d ][ %d ]:",i,j);
scanf("%d",&a[i][j]);
}
}

void findMaxMin(int *row,int *line)
{
int max = a[0][0];
int min = a[0][0];

for(int i=0;i<*row;i++)
for(int j=0;j<*line;j++)
{
if(a[i][j]>max)
max = a[i][j];
if(a[i][j]<min)
min = a[i][j];
}
printf("The max is %d, the min is %d\n",max,min);

}

void printfArray(int *row,int *line)
{
int max = a[0][0];
int min = a[0][0];

printf("\nBelow is the array you build\n");

for(int i=0;i<*row;i++)
{
for(int j=0;j<*line;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}

int main(void)
{
int row, line;

BuildArray(&row,&line);

printfArray(&row,&line);

findMaxMin(&row,&line);

return 0;
}


哈哈,会贴源代码了,看上去舒服多了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐