zoukankan      html  css  js  c++  java
  • 计算机二级-C语言-对二维数组数据进行处理。对文件进行数据输入。形参与实参。

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

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

     1 #include  <stdlib.h>
     2 #include  <stdio.h>
     3 #define   N   10
     4 double fun(double  x[],double  *av)
     5 { int  i,j;    double  d,s;
     6   s=0;
     7   for(i=0; i<N; i++)  s = s +x[i];
     8 /**********found**********/
     9   *av=s/N;//把平均值赋给形参//这个地方注意,要要写N,不能写数字。
    10   d=32767;
    11   for(i=0; i<N; i++)
    12     if(x[i]<*av && *av - x[i]<=d){
    13 /**********found**********/
    14       d=*av-x[i]; 
    15       j=x[i];
    16      }
    17 /**********found**********/
    18   return  j;
    19 }
    20 void main()
    21 { int  i;    double  x[N],av,m;
    22   for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
    23   printf("
    ");
    24   m=fun(x,&av);//加取地址符之后就可以实现,形参实参值互传。
    25   printf("
    The average is: %f
    ",av);
    26   printf("m=%5.1f ",m);
    27   printf("
    ");
    28 }

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

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

     1 #include  <stdlib.h>
     2 #include  <conio.h>
     3 #include  <stdio.h>
     4 /*************found**************/
     5 double fun(int *n)//注意这里函数返回值类型
     6 { double A=1;int i;
     7 /*************found**************/
     8   for(i=2;i<n+1;i++)
     9      A=1.0/(1+A);
    10   return A;
    11 }
    12 void main()
    13 { int n;
    14   system("CLS");//清屏
    15   printf("
    Please enter n: ");
    16   scanf("%d",&n);
    17   printf("A%d=%lf
    ",n,fun(n));
    18 }

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

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

     1 #include <conio.h>
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 #include <string.h>
     5 #define  N  5
     6 void fun(int a[][N], int m)
     7 {
     8     int i,j;
     9     for (i = 0; i < N; i++)
    10     {
    11         for (j = i; j < N; j++)
    12         {
    13             a[i][j] = a[i][j] * m;
    14         }
    15     }
    16 }
    17 void main()
    18 { 
    19   int a[N][N],m, i, j;
    20   FILE *out;
    21   printf("*****The array*****
    ");
    22   for(i=0;i<N;i++)
    23         { for(j=0;j<N;j++)
    24             {a[i][j]=rand()%20;
    25              printf("%4d", a[i][j]);
    26             }
    27         printf("
    ");
    28         }
    29   m=rand()%4;
    30   printf("m=%4d
    ",m);
    31   fun(a,m);//这里传递的是a(为数组首地址,所以形参值会同步到实参中。)
    32   printf("THE RESULT
    "); 
    33   for(i=0;i<N;i++)
    34      { for(j=0;j<N;j++) 
    35           printf("%4d",a[i][j]);
    36        printf("
    ");
    37      }
    38   /******************************/
    39   out=fopen("out.dat","w");
    40   for(i=0;i<N;i++)
    41         for(j=0;j<N;j++)
    42             a[i][j]=i*j;
    43   fun(a,8);
    44   for(i=0;i<N;i++)
    45   {     for(j=0;j<N;j++)
    46             fprintf(out,"%4d",a[i][j]);
    47         fprintf(out,"
    ");
    48   }
    49   fclose(out);
    50   /******************************/
    51 }
  • 相关阅读:
    Swift和OC混编
    Excel数据导入___你hold住么(一)
    Cocos2d-x 3.0多线程异步资源载入
    FPGA实现网络通信时的网络字节序问题
    easyui datagrid 动态加入、移除editor
    struts.xml中出现extends undefined package struts-default解决的方法
    Maven入门
    后面需要继续完善的地方
    CentOS6.9 安装OpenResty
    数据库异步写入功能概要设计
  • 原文地址:https://www.cnblogs.com/ming-4/p/10279610.html
Copyright © 2011-2022 走看看