项目 2
一、问题及代码
/*?
* 文件名称:c++第4次实验上机 项目 2 奇偶阶乘
* 作??? 者: 程志清
* 完成日期: 2017.4.10
* 版 本 号:5.11
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
*?算法设计:
*/
#include<iostream>
using namespace std;
int Jc(int n);
bool JO(int n);
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9},Jsum=0,Osum=0,i;
for(i=0;i<10;i++)
{
if(JO(a[i]))
{
Jsum+=Jc(a[i]);
}
else Osum+=Jc(a[i]);
}
cout<<"奇数的阶乘和:"<<Jsum<<endl;
cout<<"偶数的阶乘和:"<<Osum<<endl;
return 0;
}
bool JO(int n)
{
bool s=true;
if(n%2==0)
{
s=!s;
}
return s;
}
int Jc(int n)
{
int jc=1;
if(n==1||n==0)
{
return jc;
}
else return n*Jc(n-1);
}
二、结果
项目3
一、问题及代码
/*?
* 文件名称:c++第4次实验上机 项目 3 杨辉三角
* 作??? 者: 程志清
* 完成日期: 2017.4.10
* 版 本 号:5.11
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
*?算法设计:
*/
#include<iostream>
using namespace std;
void YH(int n);
int main()
{
int n;
cout<<"请输入你要的杨辉三角层数:";
cin>>n;
YH(n);
return 0;
}
void YH(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
一、问题代码
/*?
* 文件名称:c++第4次实验上机 项目 4
* 作??? 者: 程志清
* 完成日期: 2017.4.10
* 版 本 号:5.11
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
*?算法设计:
*/
#include<iostream>
using namespace std;
//由于一个函数只能返回一个值,如何要一个函数返回多个值用可用引用传递返回
double aver(int x[],int n,int *m,int *s);
//统计平均数的个数
int count(int x[],int n,double score);
int main()
{
int x[10]={4,6,8,16,19,14,5,10,1,21},max=-999,min=999,i,num;
double averscore;
averscore=aver(x,10,&max,&min);
num=count(x,10,averscore);
cout<<"最大数为:"<<max<<",最小数为:"<<min<<",平均数为:"<<averscore;
cout<<endl<<"大于平均数的个数有:"<<num;
return 0;
}
double aver(int x[],int n,int *m,int *s)
{
int sum=0;
for(int i=0;i<n;i++)
{
if(x[i]>*m)
{
*m=x[i];
}
else *s=x[i];
sum+=x[i];
}
return sum/n;
}
int count(int x[],int n,double score)
{
int num=0;
for(int i=0;i<n;i++)
{
if(x[i]>score)
num+=1;
}
return num;
}
二、结果