第七次作业

来源:互联网 发布:国民党真实抗战知乎 编辑:程序博客网 时间:2024/06/06 14:44

定义一个有10个的数组a,输出数组a中所有的奇数的阶乘和和偶数的阶乘和。其中将奇偶数的判断和阶段的计算定义为函数。

#include <iostream>using namespace std;int jc(int x);  //阶乘计算bool jo(int x);  //奇偶数的判断int main(){    int a[10]={10,9,8,7,6,5,4,3,2,1};    int Jsum=0,Osum=0;    for(int i=0;i<10;i++)    {        if(jo(a[i])) Jsum+=jc(a[i]);        else Osum+=jc(a[i]);    }    cout<<"偶数阶乘和:"<<Osum<<endl;cout<<"奇数阶乘和:"<<Jsum<<endl;    return 0;}int jc(int x)  //阶乘计算{    if(x==1) return 1;    return x*jc(x-1);}bool jo(int x){    if(x%2) return 1;    return 0;}

杨辉三解

编写函数,形成n阶杨辉三角形。在主函数中调用该函数,形成杨辉三角形,并输出结果。输入阶数n,输出处理后的结果。

#include <iostream>using namespace std;void Yanghui(int a[][100],int n);int main( ){    int a[100][100];    int n;    cin>>n;    Yanghui(a,n);    for(int i=0;i<n;i++)    {        for(int j=0;j<=i;j++)        {            cout<<a[i][j]<<"\t";        }        cout<<endl;    }    return 0;}void Yanghui(int a[][100],int n){    for(int i=0;i<n;i++)    {        for(int j=0;j<=i;j++)        {if(j==0) a[i][j]=1;else if(i==j) a[i][i]=1;else if(i>1&&j>=1)a[i][j]=a[i-1][j-1]+a[i-1][j];        }    }}

从有一个10个数的数组,求出这10个数的最大数、最小数和平均数,并统计出大于平均数的个数。其中求最大数、最小数和平均数用一个函数完成,统计大于平均数的个数用另一个函数完成。

#include<iostream>using namespace std;//自定义函数的原型(即函数声明)//由于一个函数只能返回一个值,如何要一个函数返回多个值用可用引用传递返回double aver(int x[],int n,double &max,double &min); //统计平均数的个数int count(int x[],int n,double score);double aver(int x[],int n,double &max,double &min){double Ave=0.00;    max=x[0],min=x[0];    for(int i=0; i<n; i++)    {        Ave+=x[i];        if(x[i]>max) max=x[i];        if(x[i]<min) min=x[i];    }    return Ave/10;}int count(int x[],int n,double score){    int k=0;    for(int i=0; i<n; i++)    {        if(x[i]>score) k++;    }    return k;}int main(){int x[10]={4,6,8,16,19,14,5,10,1,21},i,num;double averscore,max,min;averscore=aver(x,10,max,min);cout<<"最大数为:"<<max<<",最小数为:"<<min<<",平均数为:"<<aver(x,10,max,min)<<endl;cout<<"大于平均数的数的个数为:"<<count(x,10,averscore)<<endl;return 0;}
//也可以用数组“return”(a[0]为min       a[1]为max)

0 0