C++第二次作业

时间:2021-06-19 08:55:21

2-28

第一问:

#include <iostream>
using namespace std;
int main()
{
char a;
cout<<"Menu:A(dd)D(elect) S(ort).Select one:"<<endl;
cin>>a;
while (a!='Q')
{
if (a=='A')
{
cout<<"数据已经增加"<<endl;
}
if (a=='D')
{
cout<<"数据已经删除"<<endl;
}
if (a=='S')
{
cout<<"数据已经排列"<<endl;
}
cin>>a;
}
return 0;
}

运行结果截图

C++第二次作业

第二问:

#include <iostream>
using namespace std;
int main()
{
char a;
cout<<"Menu:A(dd)D(elect) S(ort).Select one:"<<endl;
cin>>a;
while (a!='Q')
{
switch(a)
{
case'A':
{
cout<<"数据已经增加"<<endl;break;
}
case'D':
{
cout<<"数据已经删除"<<endl;break;
}
case'S':
{
cout<<"数据已经排序"<<endl;break;
}
cin>>a;
}
return 0;
}

 运行结果截图

C++第二次作业

 

 

 

2-29

使用while

#include <iostream>
using namespace std;
int main()
{
int i,j,m,n;
i=2;
while (i<=100)
{
m=1,n=i/2;j=2;
while (j<=n)
{
if(i%j==0)
{m=0;break;}
j++;
}
if(m)
cout<<i<<"";
i++;
}
return 0;
}

运行结果截图

C++第二次作业

使用do.....while

#include <iostream>
using namespace std;
void main()
{
int a,b,c,d;
a=2;
do
{
c=1;d=a/2;b=2;
do
{
if(a%b==0)
{
c=0;break;
}
b++;
}
while (b<=d);
if(c)
cout<<a<<"";
a++;
}
while(a<=100);
}

运行结果截图

C++第二次作业

使用for循环语句

#include <iostream>
using namespace std;
void main()
{
int a,b,c,d;
for(a=2;a<=100;a++)
{
c=1;d=a/2;
for(b=2;b<=d;b++)
{
if(a%b==0)
{
c=0;
break;
}
}
if (c)
cout<<i<<"";
}
}

运行结果截图

C++第二次作业

2-32

用while 语句

#include <iostream>
using namespace std;
int main()
{
int a=10;
int n;
while (1)
{
cout<<"请输入一个数字:"<<endl;
cin>>n;
if (a==n)
{cout<<"答对了"<<endl;
break;
}
else if(a<n)
{
cout<<"数据偏大。"<<endl;
}
else if(a>n)
{
cout<<"数据偏小。"<<endl;
}
}
return 0;
}

运行结果截图

C++第二次作业

使用do...while

#include <iostream>
using namespace std;
int main()
{
int a=10;
int n;
cout<<"请输入一个数字:"<<endl;
cin>>n;
do
{
if(n!=a)
{
if(n<a)
{
cout<<"偏小"<<endl;
}
else
{
cout<<"偏大"<<endl;
}
}
else
{
cout<<"答对了"<<endl;break;
}
cin>>n;
}
while(1);
return 0;
}

运行结果截图

C++第二次作业

2-34

#include <iostream>

using namespace std;
int main()
{
enum color{red,yellow,blue,white,black};//申明枚举类型
color pri;//定义变量
int i,j,k,n=0,loop;
for(i=red;i<=black;i++)
{
for(j=red;j<=black;j++)
{
if(i!=j)
{
for(k=red;k<=black;k++)//前两个球颜色不同才看第三个
{
if(k!=i&&k!=j)//三球颜色都不同
{
n=n+1;//种类增加
cout<<setw(3)<<n;
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pri=color(i);break;
case 2:pri=color(j);break;
case 3:pri=color(k);break;
default:break;
}
switch(pri)
{
case red:cout<<setw(8)<<"red";break;
case yellow:cout<<setw(8)<<"yellow";break;
case blue:cout<<setw(8)<<"blue";break;
case white:cout<<setw(8)<<"white";break;
case black:cout<<setw(8)<<"black";break;
default :break;
}
}
cout<<endl;
}
}
}
}
}
cout<<"total:"<<n<<endl;
return 0;
}

运行结果截图

C++第二次作业

感悟:

每一种题目不单单只有一种解法,像这几题都可以运用whie或do..while语句,结束一个循环应该注意break所摆放的位置,否则容易造成死循环。研究数据较小时可以使用枚举法,但是数据较大时则需要分类处理。