输出一个二维int型数组中最大的元素、最小元素以及所有元素的平均值(c语言指针实现)

跪求!1

#include <stdio.h>

void main()
{
int i, max, min;
float sum;
int a[3][4] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int *pa = &a[0][0];
max = 0;
min = 0;
sum = 0.0;
for (i = 0; i < sizeof(a) / sizeof(int); i++)
{
if (*pa > max)
{
max = *pa;
}
if (*pa < min)
{
min = *pa;
}
sum += *pa;
pa++;
}
printf("max = %d\nmin = %d\naverage = %.3f\n", max, min, sum / (sizeof(a)/sizeof(int)));
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-13
#include <stdio.h>
void main()
{
int max, min;
float sum;
int a[3][4] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
max = a[0][0];
min = a[0][0];
sum = 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];
sum += a[i][j];
}
}
printf("max = %d\nmin = %d\naverage = %.3f\n", max, min, sum/12);
}
第2个回答  2010-04-13
排序一下就搞定了啊。

...最小元素以及所有元素的平均值(c语言指针实现)
int i, max, min;float sum;int a[3][4] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};int *pa = &a[0][0];max = 0;min = 0;sum = 0.0;for (i = 0; i < sizeof(a) \/ sizeof(int); i++){ if (*pa > max){ max = *pa;} if (*pa < min){...

...大元素,最小元素以及所有元素的平均值(用指针实现)。
avg = sum \/ 6.0;printf("最大元素:%d\\n",max);printf("最小元素:%d\\n",min);printf("平均值:%lf\\n",avg); return 0;}

在一个二维数组中找出最大值和最小值。。。c语言编写
int arr[3][4]={34,13,45,67,42,78,56,10,58,45,78,98};int arr1[3][4];for (int i=0; i<3; i++)\/\/输出所有元素 { for (int j=0; j<4; j++){ printf("%d\\t",arr[i][j]);} printf("\\n");} for (int i=0; i<3; i++)\/\/赋值操作,使其位置相同。{ f...

C语言 怎么用指针输出一个二维数组的全部值
C语言的数组(不管多少维)在内存中都是线性储存的。所以用一级指针加偏移就可以访问所有元素。举个例子,有一个10*10的二维数组a,这样就可以输出:int a[10][10];int *p = (int *)a;int i;for (i = 0; i < 10 * 10; i++)printf("%d", *(p + i));

在一个二维数组中找出最大值和最小值。。。c语言编写
printf("最大值是: %d\\n",max); printf("最小值是: %d\\n",min); return 0; } 个数要改变的话可以自己改或者追问也可以! 本回答由提问者推荐 举报| 答案纠错 | 评论 21 2 汐日南莘 采纳率:41% 来自:芝麻团 擅长: 资源共享 常见软件 电脑\/网络 其他...

c语言用指针找二维数组中的最大值和下标
int m,n;int max,r,c;printf("Input m,n:\\n");scanf("%d,%d",&m,&n);InputArray(a[0],m,n);max=FindMax(a[0],m,n,&r,&c);printf("max=%d,row=%d,col=%d\\n",max,r,c);return 0;} void InputArray(int *p,int m,int n){ int i,j;printf("Input %d*%d array:\\...

用指针求二维数组中最大值最小值及其所在行列下标
{ int i,j;int NC=6, NR=3;int **a;int a_max,a_min,i_max,i_min,j_max,j_min;a = (int **) malloc(sizeof(int *) * NR);for (j=0;j<NR;j++){ a[j] = (int *) malloc(sizeof(int) * NC);} \/\/ 请用 scanf 输入数据,我这里简单赋值了 for (j=0;j<NR;...

C语言求一个二维组每行每列的最大值 并放在一个新数组中 ,用指针做?
既然你要用指针来做,我就用指针来写。利用数组元素地址连贯性来做。include <stdio.h> define MXR 4\/\/最大行数 define MXC 3\/\/最大列数 int main(){ int i=0,mr,mc,*p=NULL,*ps=NULL;int nums[MXR][MXC]={{8,6,7},{2,6,3},{1,4,2},{9,3,5}};int mrs[MXR],mcs[MXC...

C语言 输入一个3×6的二维整型数组,输出其中最大值、最小值以及它们所在...
第二,就算你第一步正确,结果也可能不正确。因为你这个时候的a[0][0]是什么都不知道,这样赋值产生的后果不确定。一般情况求最大值和最小值,你可以把保存最小值的变量,比如说你的x初始化为一个极大数,而把你的保存最大值得d,初始化为一个极小数。这里的极大极小数你可以自己假定,认为你的...

C语言 利用指针实现求数组元素中的最大值和最小值
for(i=1;i<N;i++) 数组下标是 0开始的。 不是1 。 1就不对了。 你改改看看 for(i=1;i<N;i++){ if(*p<*(p+i))p=(p+i); \/\/这应该是用个临时变量 你这样改变这节的指向 就不对哦 else if(*t>*(t+i))t=(t+i);} ...

相似回答
大家正在搜