c++上机实验7项目1

来源:互联网 发布:手机淘宝7.1.1版本 编辑:程序博客网 时间:2024/04/28 05:59

/*

* 文件名称: 项目1
* 作    者:  吴二用
* 完成日期:   2016   年  6  月 4 日 
* 版 本 号:v1.0 
* 对任务及求解方法的描述部分:
* 输入描述: 略
* 问题描述: 略
* 程序输出: 略
* 问题分析: 略
* 算法设计:
*/ 
一项目代码:

#include<iostream>  

using namespace std;  
int isprim(int i)  
{  
    int n=0;  
    for(int j=1;j<=i;j++)  
        if(i%j==0)  
            n++;  
        if(n==2)  
            return 1;  
        else  
            return 0;  
}
int ispalindrome(int n)  
{  
    int t,s,a,b;  
    if(n<10)  
        return 1;  
    if(n<100&&n>9)  
    {  
        t=n/10;  
        s=n%10;  
        if(t==s)  
            return 1;  
        else  
            return 0;  
    }  
    if(n<1000&&n>99)  
    {  
        a=n/100;  
        b=n%10;  
        if(a==b)  
            return 1;  
        else  
            return 0;  
    }  
}  
void main()  
{  
    int n=300,m,k=0,f,q=0,a[100],b[100]; 
    cout<<"300内素数是:"<<endl;  
    for(int i=1;i<n;i++)  
    {  
        m=isprimer(i);  
        if(m==1)  
        {  
            cout<<i<<" ";  
            cout<<"\t";  
            b[k]=i;  
            k++;
        }  
    }  
    cout<<endl;  
    cout<<"300内回文数是:"<<endl;  
    int g=0;  
    for(int j=0;j<n;j++)  
    {  
        f=ispalindrome(j);  
        if(f==1)  
        {  
            cout<<j<<" ";
a[q]=j;
q++;
            cout<<"\t";
        }  
    }  
    cout<<endl;  
    cout<<"300内回文素数是:"<<endl;    
    for(i=0;i<q;i++)  
    {
for(j=0;j<k;j++)
if(a[i]==b[j])
{
cout<<a[i]<<" ";
cout<<"\t";
}
    }  
    cout<<endl;  
    cout<<"300内逆素数是:"<<endl;  
    int e,p,c,d;  
    for(i=0;i<k;i++)  
    {  
        if(b[i]<10)  
            cout<<b[i]<<"\t";  
        if(b[i]<100&&b[i]>9)  
        {  
            e=b[i]/10;  
            p=b[i]%10;  
            c=10*p+e;  
            for(j=0;j<k;j++)  
            {  
                if(c==b[j])  
                    cout<<b[i]<<"\t";  
            }  
        }  
        if(b[i]>99)  
        {  
            e=b[i]/100;  
            p=b[i]/10-10*e;  
            c=b[i]%10;  
            d=100*c+10*p+e;  
            if(isprimer(d)==1)  
                cout<<b[i]<<"\t";  
        }  
    }  

}  

二运算结果:


三心得体会:代码好长,很乱。

四总结:定义的量,有地方可以重复,但有些不能。

0 0