c++第七次作业

来源:互联网 发布:出纳软件那款好用 编辑:程序博客网 时间:2024/05/16 09:30
#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[j++]=a[i];      }        print(b,j); //输出排序前的b数组          sort(b,j);   //对数组b排序        print(b,j);   //输出排序后的b数组                return 0;    }    void sort(int p[],int n)  {      int k,t,m;      for(k=0;k<n-1;k++)          for(t=0;t<n-k-1;t++)          {              if(p[t]>p[t+1])              {                 m=p[t];                 p[t]=p[t+1];                 p[t+1]=m;              }          }  }    void print(int p[],int n)  {       for(int i=0;i<n;i++)       {           cout<<p[i]<<" ";       }       cout<<endl;  }    bool prime(int x)  {      int i,k=1;      for(i=2;i*i<=x;i++)      {          if(x%i==0)          {              k=0;              break;          }      }      if(k==0) return false;          else  return true;  }  

#include <iostream>    using namespace std;    int jiec(int x)  {      if(x==1) return 1;      return x*jiec(x-1);  }    bool jis(int x)  {      if(x%2) return 1;      return 0;  }    int main()  {      int a[10]={1,2,3,4,5,6,7,8,9,10};      int jsum=0,osum=0;      for(int i=0;i<10;i++)      {          if(jis(a[i])) jsum+=jiec(a[i]);          else osum+=jiec(a[i]);      }      cout<<"奇数阶乘和:"<<jsum<<endl;      cout<<"偶数阶乘和:"<<osum<<endl;      return 0;  }  

#include<iostream>    using namespace std;    double aver(int x[],int n,int &max,int &min);  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;      averscore=aver(x,10,max,min);      cout<<"最大数为:"<<max<<",最小数为:"<<min<<",平均数为:"<<averscore<<endl;      cout<<"大于平均数的数的个数为:"<<count(x,10,averscore)<<endl;      return 0;  }    double aver(int x[],int n,int &max,int &min)  {      int ave=0;      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 (double)ave/10;  }  int count(int x[],int n,double score)  {      int s=0;      for(int i=0; i<n; i++)      {          if(x[i]>score) s++;      }      return s;  } 





0 0
原创粉丝点击