c++第四次实验作业(2,3,4)

来源:互联网 发布:淘宝电商怎么做大的 编辑:程序博客网 时间:2024/05/22 14:47

2、

一、问题及代码:

/*  *文件名称:奇偶阶乘 *作    者:贺南鹏 *完成日期:2017.4.10  *版 本 号:v6.0  *对任务及求解方法描述部分:  *输入描述:  *问题描述:  *程序输出:  *问题分析:定义一个有10个的数组a,输出数组a中所有的奇数的阶乘和和偶数的阶乘和。其中将奇偶数的判断和阶段的计算定义为函数:  *算法设计: */#include<iostream>  using namespace std;    int judge(int x);  int jie(int p[],int y);  int main()  {      int a[10],b[10],c[10];      int i,j=0,k=0;      cout<<"请输入十个整数";      for(i=0;i<10;i++)      {          cin>>a[i];      }      for(i=0;i<10;i++)      {           if(judge(a[i])==1)               b[j++]=a[i];           else if(judge(a[i])==2)               c[k++]=a[i];      }      cout<<"奇数的阶乘是多少:"<<jie(b,j)<<endl;      cout<<"偶数的阶乘是多少:"<<jie(c,k)<<endl;        return 0;  }  int judge(int x)  {      if(x%2==0)          return 2;      else          return 1;  }  int jie(int p[],int y)  {      int i,res=1;      for(i=0;i<y;i++)          res=res*p[i];      return res;  }
二、运行结果:


3、

一、问题及代码:

/*  * 文件名称:c++第4次实验上机 项目3:杨辉三角  * 作者:贺南鹏   * 完成日期:2017.4.10   * 版本号:5.11   * 对任务及求解方法的描述部分: * 输入描述:略  * 问题描述:略  * 程序输出:略* 问题分析:  *算法设计:   */ #include<iostream>  using namespace std;  void YHSJ(int n);  int main()  {      int n;      cout<<"输入杨辉三角层数:";      cin>>n;      YHSJ(n);       return 0;   }    void YHSJ(int n)   {      int i,j,a[17][17]={0,1};      for(i=1;i<=n;i++)      {          for(j=1;j<=i;j++)      {          a[i][j]=a[i-1][j-1]+a[i-1][j];            cout<<a[i][j]<<' ';       }      cout<<endl;     }   }  
二、运行结果:


4、

一、问题及代码:

/*  *文件名称:10个数的数组 *作    者:贺南鹏  *完成日期:2017.4.10  *版 本 号:v6.0  *对任务及求解方法描述部分:  *输入描述:  *问题描述:  *程序输出:  *问题分析:从有一个10个数的数组,求出这10个数的最大数、最小数和平均数,并统计出大于平均数的个数。其中求最大数、最小数和平均数用一个函数完成,            统计大于平均数的个数用另一个函数完成。  *算法设计: */#include<iostream>    using namespace std;    double aver(int x[],int n,int *,int *);      int count(int x[],int n,double ave);    int main()    {        int x[10]={4,6,8,16,19,14,5,10,1,21},max,min,num;        double ave;        max=x[0];      min=x[0];      ave=aver(x,10,&max,&min);       num=count(x,10,ave);      cout<<"最大数为:"<<max<<"\n"<<"最小数为:"<<min<<"\n"<<"平均数为:"<<ave<<"\n"<<"大于平均数的个数为:"<<num<<endl;        return 0;    }    double aver(int x[],int n,int *a,int *b)  {      int i,sum=0;      double ave;      for(i=0;i<n;i++)      {          if(x[i]>*a)              *a=x[i];          if(x[i]<*b)              *b=x[i];          sum+=x[i];      }      ave=sum/10.0;      return ave;  }  int count(int x[],int n,double ave)  {      int num=0,i;      for(i=0;i<n;i++)          if(x[i]>ave)              num++;          return num;  }   
二、运行结果:




0 0
原创粉丝点击