版权声明:转载请注明来源~ https://blog.csdn.net/Lth_1571138383/article/details/84847741
Github地址:φ(>ω<*)这里这里。
/*
本程序应 习题 - 14 建立。
题目要求: 以变长数组作为函数形参,完成编程练习13。
因 VS 不支持 C99 标准,故改为以指针表示法做题。
*/
#include<stdio.h>
void a(int (* f) [5], int n);
int b_2(int (* f) [5], int n);
int c(int (* f) [5], int n);
int d(int (* f) [5], int n);
void e(int n);
int main(void)
{
int i = 0;
int r = 0; // 任务b .
int av = 0; // 任务c .
int b = 0; // 任务d .
int f[3][5] = { 0 };
// 任务a .
a(f, 3);
//任务b .
for (i = 0; i < 3; i++)
{
r = b_2(f, i);
printf("\n第%d行的平均值为%d.\n", i + 1, r);
}
putchar('\n');
// 任务c .
av = c(f, 3);
printf("所有数据的平均值是 %d .\n", av);
putchar('\n');
// 任务d .
b = d(f, 3);
//任务e .
e(b);
putchar('\n');
printf("\nBye !\n");
getchar();
return 0;
}
void a(int (* f) [5], int n)
{
int i = 0;
int j = 0;
printf("Please input fifteen value :");
for (i = 0; i < n; i++)
{
for (j = 0; j < 5; j++)
{
scanf("%d", ( *( f + i ) + j) );
}
}
putchar( getchar() );
printf("\nPart a is over !\n\n");
return;
}
int b_2(int (* f) [5], int n)
{
int av = 0; // Average 平均值。
int j = 0;
for (j = 0; j < 5; j++)
{
av += *(*(f + n) + j );
}
return av / 5;
}
int c(int (* f) [5], int n)
{
int i = 0;
int j = 0;
int av = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < 5; j++)
{
av += *(*(f + i) + j);
}
}
return av / 15;
}
int d(int (* f) [5], int n)
{
int i = 0;
int j = 0;
int b = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < 5; j++)
{
if (b < *(*(f + i) + j))
{
b = *(*(f + i) + j);
}
else
{
// 空语句。
;
}
}
}
return b;
}
void e(int n)
{
printf("\n最大的值是 %d .\n", n);
return;
}