示例:有一个3*4的矩阵,要求编程序求出其中最大的那个元素的值,以及其所在的行号和列号。
代码:
#include<stdio.h>
int main()
{
int i,j,row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{4,5,6,7},{-1,3,-5,10}};
max=a[0][0];
printf("array a:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
printf("%5d",a<i>[j]);
}
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
if(a<i>[j]>max)
{
max=a<i>[j];
row=i;
colum=j;
}
}
}
printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);
return 0;
}
运行结果:
扩展资料:
printf用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
2013-05-18
#include <stdio.h>
void main()
{
int a[4][4],i,j,max,row1,column1;
int min,row2,column2;
for (i=0;i<4;i++)
for (j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];row1=0;column1=0;
min=a[0][0];row2=0;column2=0;
for (i=0;i<4;i++)
for (j=0;j<4;j++)
{ if (max<a[i][j])
{ max=a[i][j];
row1=i;
column1=j; }
if (min>a[i][j])
{ min=a[i][j];
row2=i;
column2=j;
}
}
printf("max=%d,row=%d,column=%d\n",max,row1+1,column1+1);
printf("min=%d,row=%d,column=%d\n",min,row2+1,column2+1);
}
设置两个变量数组,一个用于存储最大值的位置,一个用于存储最小值位置,如max[3],min[3]其中max[0],max[1],max[2]分别代表行号 列号,数值。
循环前,先给max min赋初值,默认到数组的第一个值。
在循环中,每次循环都将数值与max[2]和min[2]比较,如果比max[2]大,就用新值替换maxmin也一样。
举例:比如数组a[10][3]
max[0]=0;
max[1]=0;
max[2]=a[0][0];
min[0]=0;
min[1]=0;
min[2]=a[0][0];
for(i=0; i<10; i++)
for(j=0; j<3; j++){
if (a[i][j]>max[2]){
max[0]=i;
max[1]=j;
max[2]=a[i][j];
}
if (a[i][j]<min[2]){
min[0]=i;
min[1]=j;
min[2]=a[i][j];
}
}
printf(“%d”,max[0]);
....
2013-05-18