您的位置:首页 > 编程语言 > C语言/C++

C++作业7-函数复习

2016-06-05 12:06 239 查看
项目2:奇偶阶乘

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

#include <iostream>
using namespace std;
bool isjishu(int x);
int jiechenghe(int p[],int m);

int main( )
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10],c[10],sum1,sum2,i,j=0,k=0;
for(i=0;i<10;i++)
{
if(isjishu(a[i]))
b[j]=a[i],j++;

else
c[k]=a[i],k++;
}
sum1=jiechenghe(b,j);
sum2=jiechenghe(c,k);
cout<<"奇数阶乘和为:"<<sum1<<endl<<"偶数阶乘和为:"<<sum2<<endl;
}

bool isjishu(int x)
{
for(int i=0;i<10;i++)
{
if(x%2==0) return false;
}
return true;
}

int jiechenghe(int p[],int m)
{
int i,j,sum=0;
for(i=0;i<m;i++)
{
int n=1;
for(j=1;j<=p[i];j++)
{
n=n*j;
}
sum=sum+n;
}
return sum;
}

项目3:杨辉三解

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

#include <iostream>  

using namespace std;  

int main( )       

{  

    int n,i,j;  

    cin>>n;  

    int a

;  

    for(i=0;i<n;i++)  

    {  

        for(j=0;j<=i;j++)  

        {  

            a[i][0]=1,a[i][i]=1;  

            if(i>=2
4000
&&j!=i&&j!=0)  

            {  

                a[i][j]=a[i-1][j-1]+a[i-1][j];    

            }  

              

            cout<<a[i][j]<<" ";  

        }  

        cout<<endl;  

    }  

}  

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

参考格式:

[cpp] view
plain copy

#include<iostream>  

using namespace std;  

//自定义函数的原型(即函数声明)  

//由于一个函数只能返回一个值,如何要一个函数返回多个值用可用引用传递返回  

double aver(int x[],int n,double &m,double &n);   

//统计平均数的个数  

int count(int x[],int n,double score);  

  

int main()  

{  

    int x[10]={4,6,8,16,19,14,5,10,1,21},max,min,i,num;  

    double averscore;  

    aversocre=aver(x,10,max,min);  

    cout<<"最大数为:"<<max<<",最小数为:"<<min<<",平均数为:"<<averscore;  

    ....//自己编写  

    return 0;  

}  

//下面定义自定义函数  
#include<iostream>
using namespace std;
//自定义函数的原型(即函数声明)
//由于一个函数只能返回一个值,如何要一个函数返回多个值用可用引用传递返回
double aver(int x[],int n,double &m,double &n);
//统计平均数的个数
int count(int x[],int n,double score);

int main()
{
int x[10]={4,6,8,16,19,14,5,10,1,21},max,min,i,num;
double averscore;
aversocre=aver(x,10,max,min);
cout<<"最大数为:"<<max<<",最小数为:"<<min<<",平均数为:"<<averscore;
int y;
cout<<"大于平均数:"<<y;//自己编写
return 0;
}
void aver(int x[],int n,double &m,double &n)
{
int i,j,sum=0;
int t=a[0]
for(i=0;i<10;i++)
{if(a[i]>a[0])
max=a[i];
else
min=a[i];
for(j=1;j<10;j++)
{
sum+=a[i];
}
}
aver=sum/10;
}
void count(int x[],int n)
{
if(i=1;i<n;i++)
{
for(x>aver)
cout<<x<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: