①目标
求一个二维数组(矩阵)周边元素的平均值?
首先筛选周边元素 , 行标列标 , 不是含0就是含4 。
再求平均值av 。
a[0
[0
a[0
[1
a[0
[2
a[0
[3
a[0
[4
a[1
[0
a[1
[1
a[1
[2
a[1
[3
a[1
[4
a[2
[0
a[2
[1
a[2
[2
a[2
[3
a[2
[4
a[3
[0
a[3
[1
a[3
[2
a[3
[3
a[3
[4
a[4
[0
a[4
[1
a[4
[2
a[4
[3
a[4
[4
。
~
②命令行
#include< stdio.h>
#include< stdlib.h>
#define N 5
~
③定义函数
【摩尔斯电码|C语言-二维数组条件筛选】double fun(int w[
[N
)
{
int ijk=0;
double s=0.0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
/*筛选二维数组中满足条件的元素 , 一般用遍历*/
if(i==0||j==0||i==N-1||j==N-1)
/*行标列标 , 不是含0就是含N-1*/
{s=s+w[i
[j
;k++;
/*累加并计数 , 为平均值做准备*/
return s/k;
~
④主函数(调用)
void main()
{
FILE *wf;
/*不知道此处为何要指向文件的指针 , 我删了也可以执行 。 */
int a[N
[N
=
{0123401234012340123401234;
int ij;
double s;
system(\"CLS\");
/*清屏 , 虽然不知道这里为什么要清屏 , 期待大神解读*/
printf(\"The array\\");
for(i=0;i<N;i++)
{
for(i=0;i<N;i++){printf(\"%4d\"a[i
[j
);
/*注意此处嵌套 , \在外层for循环中 , 不在内层for循环中 , 意味着每一行一个回车 , 如果
printf(\"\\");
av=fun(a);
printf(\"The result\\");
printf(\"The average is:%lf\\"av);
wf=fopen(\"out.dat\"\"w\");
/*打开文件 , 文件使用方式为write写*/
fprintf(wf\"%lf\"av);
/*把平均值av按%lf格式 , 输出到wf所指的文件中*/
fclose(wf);
/*关闭文件 。
觉得最后三句文件操作有点多余 , 我试了 , 删了也没问题 , 期待大神解读*/
- 摩托罗拉|moto手机系统有多好用?快捷省心,处处都有惊喜
- 机械键盘|超薄加侧面灯带 摩豹BK75双模无线机械键盘体验
- 深圳市|OPPOReno7与摩托罗拉edgeX30详细对比:有哪些优缺点?
- 摩托罗拉|为什么没有人偷华为手机?那是因为这个功能,偷了也得乖乖送回来
- 摩托罗拉|摩托罗拉新机有大惊喜!陈劲:供应商知道后都被惊到了
- 摩托罗拉|手机行业内卷之王!摩托罗拉新机宣布:高管称“闭着眼睛买”
- 摩托罗拉|?Redmi K50官宣后,摩托罗拉陈劲发帖祝贺,耐人寻味
- 哈啰出行申请哈啰摩托商标
- 主板|摩托罗拉edgesPro:从2399元跌至1598元,堪称千元配置天花板!
- ai|阿里达摩院发布AI Earth:集成PB级数据