题目来源:
C++语言程序设计 郑莉 董渊 何江舟 编著 清华大学出版社
软件:codeblocks
2-28.代码:
#include
using namespace std;
int main()
{
cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one:" << endl;
char cv;
do
{
cin>>cv;
if(cv=='Q')break;
else
{
switch(cv)
{
case 'A':cout<< " 数据已经增加。 " <
#include
using namespace std;
bool ccv(int n)//找出质数:for 语句
{
int p=1;
for( int i=2;i<=sqrt(n);i++)
{
if(n%i==0)p=0;
}
return p;
}
int main()
{
int t=100;
cin>>t;
cout << "The prime number range 1 to "<< t <<" is " <
while语句实现:
#include
#include
using namespace std;
bool ccv(int n)//找出质数:while 语句
{
int p=1;
int i=2;
while(i<=sqrt(n))
{
if(n%i==0)p=0;
i++;
}
return p;
}
int main()
{
int t=100;
cin>>t;
cout << "The prime number range 1 to "<< t <<" is " <
do_while语句实现:
#include
#include
using namespace std;
bool ccv(int n)//找出质数:do_while 语句
{
int p=1;
int i=2;
do
{
if(n%i==0&&n!=2)p=0;
i++;
}while(i<=sqrt(n));
return p;
}
int main()
{
int t=100;
cin>>t;
cout << "The prime number range 1 to "<< t <<" is " <
运行结果:
当然,这三个程序均可以实现求1至任意数(整型取值范围内)之间的质数
2-32.代码:这个是1~10000之间的,因为1~100太好猜了~~~
while语句实现:
#include
#include
#include
using namespace std;
int main()
{
srand((unsigned)time(nullptr));
int i=rand()%10000;
int m=0;
cout<< " The computer just set a number. "
<<"Now,please guess what the number the computer set."<>m;
while(m!=i)
{
if(m>m;
}
if(m==i)
cout << "Congratulation! You get the number." << endl;
return 0;
}
do_while语句实现:
#include
#include
#include
using namespace std;
int main()
{
srand((unsigned)time(nullptr));
int i=rand()%10000;
int m;
cout<< " The computer just set a number. "
<<"Now,please guess what the number the computer set."<>m;
if(mi)cout<<"Oh,your number is bigger.Please try again." <
运行结果:
额。。。我猜的次数有点多
当然,上述程序还可以再优化一下,可以#define N 你想输入的数,这样就便于改动数值。
还有,可以再加几行,使得程序可以反映出输入的次数并配以相应的语句,这里不再赘述。
2-34.代码:这个主要取决于对题目的理解,理解得简单,程序也简单;往复杂里想,就实实在在的一道排列组合题了,还是超难的那种。。。下面这个算是中等吧
附题目:口袋中有红、黄、蓝、白、黑 5 种颜色的球若干。每次从口袋中取出 3 个不同颜色的球,问有多少种取法?
#include
#include
using namespace std;
enum color{red,yellow,blue,white,black};
int main()
{
int k=0;
color sdx;
for(int i=red;i<=black;i++)
{
for(int j=red;j<=black;j++)
{
if(i!=j)
{
for(int p=red;p<=black;p++)
{
if(i!=p&&j!=p)
{
k++;
cout<<" Number: "<
注:里面的break和continue其实起一样的效果。
运行结果:
有点多,没有办法全部截屏
差不多就是这样了。
PS:本人学生一枚,初学C++,若有不足之处,还请各位大佬指正。
//不知道为什么,之前上传的图片全都不见了,只好重新截屏。。。