①目标
求一个二维数组(矩阵)周边元素的平均值?
首先筛选周边元素 , 行标列标 , 不是含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
。
~
②命令行
【c语言|C语言-二维数组条件筛选】#include< stdio.h>
#include< stdlib.h>
#define N 5
~
③定义函数
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);
/*关闭文件 。
觉得最后三句文件操作有点多余 , 我试了 , 删了也没问题 , 期待大神解读*/
- 编程|华为自研编程语言或正式启用,再次打破海外的垄断,进入无人区
- PHP|网上商城开发:java&php语言如何选择?
- 编程|华为自研编程语言仓颉全中文编程,我是不信的,不怕打脸
- 刘强东|微信Windows版更新至3.6.0.18:支持识别图片二维码
- c语言|俄罗斯传来新消息,华为赢了
- 酷睿处理器|C语言-字符串变数字
- 微信|电脑怎么登录微信不用扫二维码?只需打开这个按钮,轻松搞定!
- 软件|欧美国家能不能禁止我们使用各种编程语言?
- Java|软件开发通识之一:什么是计算机语言?
- c语言|C语言-数组平均值与排序