c++ 第四次实验--作业报告

项目 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;
}


二、结果



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值