码迷,mamicode.com
首页 > 编程语言 > 详细

【ThinkingInC++】20、关于C的习题(2)

时间:2014-08-15 09:34:17      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:两重for循环   模运算符   输出质数   

/**
*功能:编写一个程序使用两重for循环和模运算符(%)去寻找和输出质数(只能被1和它本身
*整除的整数)。
*时间:2014年8月15日08:19:48
*作者:cutter_point
*/

#include<iostream>
#include<cstdlib>

using namespace std;

//写一个函数输出质数(只能被1和它本身*整除的整数)
void printZhiShu(int n)      //给出0到多少的数之间的质数
{
    cout<<1<<"\t是质数\n";
    //使用两重for循环,模运算符(%),1不用想
    //一层循环是重2到n这些数字一个个找
    for(int i=2 ; i <= n ; ++i)
    {
        //重2到它本身就只有他本身可以取模为0
        for(int j=2 ; j <= i ; ++j)
        {
            int m=i%j;  //对j取模
            if(j != i && m==0)
            {
                break;  //如果不是质数立马排除
            }
            cout<<i<<"\t是质数\n";
            break;
            /*
            else if(j == i && m == 0)    //结果遍历到了本身才能被整除那么就是质数
            {
                cout<<i<<"\t是质数\n";
            }
            */
        }
    }
}

int main()
{
    while(1)
    {
        int i=0;
        cout<<"输入你想求在什么范围内的数是否是质数(0退出程序):";
        cin>>i;
        if(i < 0)
        {
            cout<<"请不要输入负数!!"<<endl;
            continue;
        }
        else if(i == 0)
            break;
        else
        {
            printZhiShu(i);
        }

    }

    system("pause");
    return 0;
}

【ThinkingInC++】20、关于C的习题(2),布布扣,bubuko.com

【ThinkingInC++】20、关于C的习题(2)

标签:两重for循环   模运算符   输出质数   

原文地址:http://blog.csdn.net/cutter_point/article/details/38579757

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!