C++第7次作业

来源:互联网 发布:教育培训机构网站源码 编辑:程序博客网 时间:2024/06/02 16:26
一:特殊三位数

请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。

#include<iostream>using namespace std;int f(int n){   int s=1,i;   for(i=1;i<=n;i++)      s=s*i;   return s;} int main() {     int n, a,b,c ;   for(n=100;n<1000;n++)    {        a=n/100;        b=n/10-a*10;        c=n%10;      if(n==f(a)+f(b)+f(c))        cout<<n<<" ";    } }


二:数组素数排序
定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。


#include<iostream>using namespace std;int f(int n)//判断是否是素数{   int i,a=0;   for(i=2;i<n;i++)    {if(n%i==0) break;}if(i==n) {a=1; return a;}}void y(int p[], int n) //数组b的排序{    int i,j,o;    for(i=0;i<n-1;i++)        for(j=0;j<n-1-i;j++)        if(p[j]>p[j+1])    {        o=p[j];        p[j]=p[j+1];        p[1+j]=o;    }} int main() {   int a[10]={2,13,5,47,19,53,27,23,28,11},b[10],k,q=0,i,g;   for(k=0;k<10;k++)   {       if(f(a[k])==1)       {           b[q]=a[k];           q++;       }   }   for(i=0;i<q;i++)    cout<<b[i]<<" ";    cout<<endl<<"b数组排序后为:";    y(b,q);     for(i=0;i<q;i++)    cout<<b[i]<<" "; }






0 0
原创粉丝点击