//函数fun的功能为:计算x所指数组中N个数的平均值(规定所有数都为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并输出。

//重难点:形参与实参之间,是否进行了值传递。

 #include  <stdlib.h>
#include <stdio.h>
#define N 10
double fun(double x[],double *av)
{ int i,j; double d,s;
s=;
for(i=; i<N; i++) s = s +x[i];
/**********found**********/
*av=s/N;//把平均值赋给形参//这个地方注意,要要写N,不能写数字。
d=;
for(i=; i<N; i++)
if(x[i]<*av && *av - x[i]<=d){
/**********found**********/
d=*av-x[i];
j=x[i];
}
/**********found**********/
return j;
}
void main()
{ int i; double x[N],av,m;
for(i=; i<N; i++){ x[i]=rand()%; printf("%4.0f ",x[i]);}
printf("\n");
m=fun(x,&av);//加取地址符之后就可以实现,形参实参值互传。
printf("\nThe average is: %f\n",av);
printf("m=%5.1f ",m);
printf("\n");
}

//函数fun函数的功能是:根据整型形参n,计算如下公式的值。A1=1,A2=1/(1+A1),An=1/(1+A(n-1))。

//重难点:注意函数返回值类型。

 #include  <stdlib.h>
#include <conio.h>
#include <stdio.h>
/*************found**************/
double fun(int *n)//注意这里函数返回值类型
{ double A=;int i;
/*************found**************/
for(i=;i<n+;i++)
A=1.0/(+A);
return A;
}
void main()
{ int n;
system("CLS");//清屏
printf("\nPlease enter n: ");
scanf("%d",&n);
printf("A%d=%lf\n",n,fun(n));
}

//在程序中,定义了N*N的二维数组,并在主函数中自动赋值,编写函数fun功能是使数组右上半角元素中的值乘以m。

//重难点:对二维数组数据进行操作。对文件进行操作。

 #include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
void fun(int a[][N], int m)
{
int i,j;
for (i = ; i < N; i++)
{
for (j = i; j < N; j++)
{
a[i][j] = a[i][j] * m;
}
}
}
void main()
{
int a[N][N],m, i, j;
FILE *out;
printf("*****The array*****\n");
for(i=;i<N;i++)
{ for(j=;j<N;j++)
{a[i][j]=rand()%;
printf("%4d", a[i][j]);
}
printf("\n");
}
m=rand()%;
printf("m=%4d\n",m);
fun(a,m);//这里传递的是a(为数组首地址,所以形参值会同步到实参中。)
printf("THE RESULT\n");
for(i=;i<N;i++)
{ for(j=;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
/******************************/
out=fopen("out.dat","w");
for(i=;i<N;i++)
for(j=;j<N;j++)
a[i][j]=i*j;
fun(a,);
for(i=;i<N;i++)
{ for(j=;j<N;j++)
fprintf(out,"%4d",a[i][j]);
fprintf(out,"\n");
}
fclose(out);
/******************************/
}

计算机二级-C语言-对二维数组数据进行处理。对文件进行数据输入。形参与实参。的更多相关文章

  1. c语言中如何通过二级指针来操作二维数组

    通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上.之后就可以通过二维指针直接访问了. 参考代码如下,可以看具体注释辅 ...

  2. C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)

    前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...

  3. C语言中将二维数组作为函数参数来传递

    c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下: 方法一, 形参给出第二维的长度. 例如: #include <stdio.h> void func(int n, char ...

  4. C语言之二维数组

    二维数组 还是一个数组,只不过数组中得每一个元素又是一个数组 1). 声明语法 类型 数组名[行][列]; 例:  int nums[2][3];//2行3列的二维数组,保存的数据类型是int类型 c ...

  5. C语言 字符二维数组(多个字符串)探讨 求解

    什么是二维字符数组? 二维字符数组中为什么定义字符串是一行一个? “hello world”在C语言中代表什么? 为什么只能在定义时才能写成char   a[10]="jvssj" ...

  6. C语言传递二维数组

    方法一, 形参给出第二维的长度. 例如: #include <stdio.h> ] ) { int i; ; i < n; i++) printf("/nstr[%d] = ...

  7. C语言讲义——二维数组

    二维数组,又称为矩形数组 可以不太准确地理解为"数组的数组" 也可以认为是一个表格 然而内存中并不是表格存储: 二维数组的初始化 第一维度可以省略 所有元素可以写在一个花括号中,计 ...

  8. C语言回顾-二维数组

    1.二维数组:是一个特殊的一维数组 完全初始化: 1)int a[2][3]={{1,2,3},{2,3,4}}; 2)连续赋值int a[2][3]={1,2,3,2,3,4}; 3)可以省略第一维 ...

  9. C语言教学--二维数组和指针的理解

    对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...

随机推荐

  1. Codeforces Round #615 (Div. 3) A-F简要题解

    contest链接:https://codeforces.com/contest/1294 A. 给出a.b.c三个数,从n中分配给a.b.c,问能否使得a = b = c.计算a,b,c三个数的差值 ...

  2. win10下安装es

    1.安装前提 windows下已经安装好了jdk8的版本 2.下载ElasticSearch https://www.elastic.co/cn/downloads/elasticsearch#ga- ...

  3. NEON的vsub方法溢出

    关于NEON的vsub方法的溢出,结果如下: vsub会产生溢出,根据数据bit表示规律,可知溢出结果和理论正确结果形成互补,比如249-(-7)=256 使用类vreinterpretq_s16_u ...

  4. cc.Sprite 与 ccui.ImageView 改变图片

    sprite.setTexture(fileName); imageView.loadTexture(fileName);

  5. MYSQL获取表空间大小

    SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) as si ...

  6. AcWing 5. 多重背包问题 II

    //二进制优化 最后变为01背包 #include <iostream> #include <algorithm> using namespace std; , M = ; i ...

  7. win10显示“没有有效的IP地址”

    可能你没有新建该宽带连接!!!(本人就是蠢到如此地步了_(:з)∠)_)

  8. python的setup和teardown

    关于python unittest ① setup():每个测试函数运行前运行② teardown():每个测试函数运行完后执行③ setUpClass():必须使用@classmethod 装饰器, ...

  9. 每天进步一点点------直接数字频率合成DDS

     

  10. Service Worker,Web Worker,WebSocket的对比

    Service Worker 处理网络请求的后台服务.适用于离线和后台同步数据或推送信息.不能直接和dom交互.通过postMessage方法交互. Web Worker 模拟多线程,允许复杂计算功能 ...