【作业2】

第一题:

(1)

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     char a;
 6     cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
 7     while(cin>>a)
 8     {
 9         if(a == 'A')
10             cout<<"数据已经增加"<<endl;    
11         else if(a == 'D') 
12             cout<<"数据已经删除"<<endl;
13         else if(a == 'S') 
14             cout<<"数据已经排序"<<endl;
15         else if(a == 'Q') 
16             break;
17         else
18         {
19             cout<<"输入错误,重新输入!"<<endl;
20             cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; 
21             continue;
22         }
23         cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; 
24     }
25     return 0;
26 } 

(2)

 1 #include<iostream>
 2 #include<stdlib.h>
 3 using namespace std;
 4 int main()
 5 {
 6     char a;
 7     cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
 8     while(cin>>a)
 9     {
10         switch(a) 
11         {
12             case 'A':cout<<"数据已经增加"<<endl;break;
13             case 'D':cout<<"数据已经删除"<<endl;break;
14             case 'S':cout<<"数据已经排序"<<endl;break;
15             case 'Q':exit(0);
16             default :cout<<"输入错误,重新输入!"<<endl;
17         }
18         cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; 
19     }
20     return 0;
21 } 

 

第二题:

(1)

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main()
 5 {
 6     //质数的求法:质数表示其有2个因数:除了1,还有它自身。因此将其与比1大,比自身小的数一一取余,全部无法整除即可。 
 7     //while
 8     int n=1;
 9     while(n<=100)
10     {
11         int i=2;
12         while(i<=n)
13         {
14             if(i > sqrt(n))
15             {
16                 cout<<n<<" ";
17                 break;
18             }
19             if(n%i == 0)
20                 break;
21             ++i;
22         }
23         ++n;
24     }
25     return 0;
26 } 

(2)

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main()
 5 {
 6     //do-while
 7     int n=1;
 8     do
 9     {
10         ++n;         //跳过对1是否为质数的判断 
11         int i=2;
12         do
13         {
14             if(i > sqrt(n))
15             {
16                 cout<<n<<" ";
17                 break;
18             }
19             if(n%i == 0)
20                 break;
21             ++i;
22         }while(i<=n);
23     }while(n<100);    //++n写在前面,n不能取到100 
24     return 0;
25 } 

(3)

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main()
 5 {
 6     //for
 7     for(int n=1;n<=100;++n)
 8     {
 9         for(int i=2;i<=n;++i)
10         {
11             if(i > sqrt(n))
12             {
13                 cout<<n<<" ";
14                 break;
15             }
16             if(n%i == 0)
17                 break;
18         }
19     } 
20     return 0;
21 } 

 

第三题:

 1 #include<iostream>
 2 #include<cstdlib>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,k;
 7     unsigned seed='a';
 8     srand(seed); 
 9     n=(1+rand())%100;       //确保随机性 
10     cout<<"猜数游戏开始,你共有5次机会"<<endl;
11     for(int i=1;;++i)
12     {
13         cout<<""<< i <<" 次机会:";
14         cin>>k;
15         if(k == n)
16         {
17             cout<<"你咋那么厉害呢!"<<endl;
18             break; 
19         }
20         else if(k > n)
21             cout<<"猜大了!"<<endl;
22         else if(k < n)
23             cout<<"猜小了!"<<endl;
24         if(i >= 5)
25         {
26             cout<<"游戏结束。"<<endl;
27             break;
28         } 
29     }
30     return 0;
31 } 

第四题:

#include<iostream>
using namespace std;
int main()
{
    //先去第一个球,然后在剩下的里面取一个,然后继续在剩下的剩下的里面再取一个。 
    int t;     //记录总数
    for(int x=1;x<=5;++x)
        for(int y=1+x;y<=5;++y)
            for(int z=1+y;z<=5;++z)
                ++t;
    cout<<"共有 "<< t <<" 种取法"<<endl; 
    return 0;
} 

 

 

小结:求质数的算法老是出问题,经常在运行的时候会多出或漏掉什么数……

转载于:https://www.cnblogs.com/rq1b-qsy666/p/8639738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值