C++第七次作业

时间:2022-04-10 21:56:35

一、特殊三位数

<pre name="code" class="cpp"><span style="font-size:18px;">#include<iostream>  
using namespace std;  
int f(int n)  
{  
    int a,b,c,d=1,s=1,t=1,i,k;  
    a=n/100;  
    b=(n-100*a)/10;  
    c=n%10;  
    for(i=1;i<=a;i++)  
        d*=i;  
    for(i=1;i<=b;i++)  
        s*=i;  
    for(i=1;i<=c;i++)  
        t*=i;  
    k=d+s+t;  
    return k;  
}  
void main()  
{  
    int i,j,m;  
    for(i=100;i<1000;i++)  
    {  
        m=f(i);  
        if(m==i)  
            cout<<i<<endl;  
    }  
}  </span>


 
二、数组素数排序 

#include <iostream>  
using namespace std;  
void sort(int p[], int n)  
{  
    int a,b,t;  
    for(a=0;a<n-1;a++)  
        for(b=0;b<n-a-1;b++)  
        {  
            if(p[b]>p[b+1])  
            {  
                t=p[b];p[b]=p[b+1];p[b+1]=t;  
            }  
        }  
}  
bool prime(int x)   
{  
    int l;  
    for(l=2;l<x;l++)  
    {  
        if (x%l==0)    
        {  
            return 1;  
        }  
    }   
    return 0;  
}  
void print(int p[],int n)  
{  
    for(int m=0;m<n;m++)  
        cout<<p[m]<<" ";  
    cout<<endl;  
}  
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])==0)  
    {  
        b[j]=a[i];  
        j++;  
    }  
}  
print(b,j);   
sort(b,j);   
print(b,j);     
return 0;  
}