c++第四次作业报告

第一个作业

一、问题及代码

*/

*文件名称:aaa

*作        者:李钊

*完成日期:2017年4月10号

*版  本  号:v6.0

*对任务及求解方法的描述部分:

*输入描述:无输入

*问题描述:有挑战性的程序,让我学到了知识

*程序输出:2 5 11 13 19 23 47 53

*问题分析:使用函数及数组

*算法分析:使用函数及数组

*/

#include <iostream>  

using namespace std;

void sort(int p[], int n);  //数组排序  

bool prime(int x);   //素数判断  

void print(int p[],int n);//输出数组  

int main( )     

{   int a[10]={2,13,5,47,19,53,27,23,28,11};  

    int b[10],i,j=0;  

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

    {

if(prime(a[i]))

{

b[i]=a[i],j++;

}

        //a中的素数存入b数组  

    }  

    print(b,j); //输出排序前的b数组    

    sort(b,j);   //对数组b排序  

    print(b,j);   //输出排序后的b数组  

    return 0;  

}

void sort(int p[],int n)

{

int i,j=1,k;

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

{

for(j=0;j<n-1-i;j++)

        {

if(p[j]>p[j+1])

{

k=p[i];

p[j]=p[j+1];

p[j+1]=k;

            }

}

}

}

bool prime(int x)

{

int i;

for(i=2;i<x;i++)

{

if(x%i==0)

return false;

    }

return false;

}

void print(int p[],int n)

{

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

{

cout<<p[i]<<" ";

}

cout<<endl;

}

二、运行结果

第二个作业

一、问题及代码

*/

*文件名称:aaa

*作        者:李钊

*完成日期:2017年4月10号

*版  本  号:v6.0

*对任务及求解方法的描述部分:

*输入描述:无输入

*问题描述:有挑战性的程序,让我学到了知识

*程序输出:偶数阶乘和3669866,奇数阶乘368047

*问题分析:使用函数及数组

*算法分析:使用函数及数组

*/

#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 sum1=0,sum2=0;  

    for(int i=0;i<10;i++)  

    {  

        if(jo(a[i])) sum1+=jc(a[i]);  

        else sum2+=jc(a[i]);  

    }  

    cout<<"偶数阶乘和:"<<sum2<<endl;  

    cout<<"奇数阶乘和:"<<sum1<<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;  

二、运行结果


第三个作业

一、问题及代码

*/

*文件名称:aaa

*作        者:李钊

*完成日期:2017年4月10号

*版  本  号:v6.0

*对任务及求解方法的描述部分:

*输入描述:无输入

*问题描述:有挑战性的程序,让我学到了知识

*程序输出:21  1  10.4  4

*问题分析:使用函数及 数组

*算法分析:使用函数及数组

*/

#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;  
}  

二、运行结果







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值