实验1:C++简单程序设计(1)
2-28 实现一个简单的菜单程序,运行时显示"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:",提示用户输入。A表示增加,D表示删除,S表示排序,Q表示退出。输入为A、D、S时分别提示“数据已经增加、删除、排序”,输入为Q时程序结束。
(1)使用 if...else 语句
#include<iostream>
using namespace std;
int main(){
char m;
while()
{
cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
cin>>m;
if(m=='A')
cout<<"Data has added"<<endl;
else if(m=='D')
cout<<"Data has deleted"<<endl;
else if(m=='S')
cout<<"Data has sorted"<<endl;
else if(m=='Q')
break;
else
cout<<"Data error"<<endl;
}
}
运行结果

(2)使用switch语句
#include<iostream>
using namespace std;
int main(){
char m;
while(){
cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
cin>>m;
if(m=='Q')
break;
switch(m){
case 'A':cout<<"Data has added"<<endl;break;
case 'D':cout<<"Data has deleted"<<endl;break;
case 'S':cout<<"Data has sorted"<<endl;break;
default:cout<<"Data error"<<endl;break;
}
}
return ;
}
运行结果

2-29 用穷举法找出1~100间的质数并显示出来。分别使用while,do···while,for循环语句实现。
(1)使用while语句
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number=,i;
while(number<){
i=;
while(i<=sqrt(number)&&number%i!=){
i++;
}
if(i>sqrt(number))
cout<<number<<" ";
number++;
}
return ;
}
运行结果

(2)使用do···while语句
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number=,i;
do{
i=;
do{
i++;
}while((i<=sqrt(number)&&number%i!=));
if(i>sqrt(number))
cout<<number<<" ";
number++;
}
while(number<);
return ;
}
运行结果

(3)使用for语句
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number,i;
for(number=;number<;number++){
for(i=;i<sqrt(number);i++)
if(number%i==)
break;
if(i>sqrt(number))
cout<<number<<" ";
}
return ;
}
运行结果

2-32 在程序中定义一个整型变量,赋予1~100的值。要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。分别使用while,do···while语句实现循环。
(1)使用while语句
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
int random_number=rand()%+;
cout<<"Enter the number you guess between 1 and 100:";
int guess_number;
cin>>guess_number;
int wrong=;
while(wrong)
{
if(random_number>guess_number){
cout<<"bigger than your guess,guess again:";
cin>>guess_number;
}
else if(random_number<guess_number){
cout<<"smaller than your guess,guess again:";
cin>>guess_number;
}
else{
cout<<"congratulations!Guessed it!"<<endl;
wrong=;
}
}
return ;
}
运行结果

(2)使用do···while语句
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
int random_number=rand()%+;
cout<<"Enter the number you guess between 1 and 100:";
int guess_number;
cin>>guess_number;
int wrong=;
do
{
if(random_number>guess_number){
cout<<"bigger than your guess,guess again:";
cin>>guess_number;
}
else if(random_number<guess_number){
cout<<"smaller than your guess,guess again:";
cin>>guess_number;
}
else{
cout<<"congratulations!Guessed it!"<<endl;
wrong=;
}
} while(wrong);
return ;
}
运行结果

2-34口袋中有红、黄、蓝、白、黑5种颜色的球若干。每次从口袋中取出3个不同颜色的球,问有多少种取法?
(1)有序的取法
#include<iostream>
using namespace std;
enum Ball{Red,Yellow,Blue,White,Black};
void transform(int number);
int main(){
int count=;
for(int catch1=Red;catch1<=Black;catch1++)
for(int catch2=Yellow;catch2<=Black;catch2++)
for(int catch3=Blue;catch3<=Black;catch3++)
{
transform(catch1);
transform(catch2);
transform(catch3);
cout<<endl;
count++;
}
cout<<"There are "<<count<<" ways"<<endl;
return ;
}
void transform(int number){
switch(number){
case Red:cout<<"Red ";break;
case Yellow:cout<<"Yellow ";break;
case Blue:cout<<"Blue ";break;
case White:cout<<"White "; break;
case Black:cout<<"Black";break;
}
}
运行结果

(2)无序的取法
#include<iostream>
using namespace std;
enum Ball{Red,Yellow,Blue,White,Black};
void transform(int number);
int main(){
int count=;
for(int catch1=Red;catch1<=Black;catch1++)
for(int catch2=catch1+;catch2<=Black&&catch2>catch1;catch2++)
for(int catch3=catch2+;catch3<=Black&&catch3>catch2;catch3++)
{
transform(catch1);
transform(catch2);
transform(catch3);
cout<<endl;
count++;
}
cout<<"There are "<<count<<" ways"<<endl;
return ;
}
void transform(int number){
switch(number){
case Red:cout<<"Red ";break;
case Yellow:cout<<"Yellow ";break;
case Blue:cout<<"Blue ";break;
case White:cout<<"White "; break;
case Black:cout<<"Black";break;
}
}
运行结果

评论:
https://www.cnblogs.com/zcq1224/p/10544256.html
https://www.cnblogs.com/wmy0621/p/10543834.html
https://www.cnblogs.com/pink-fairy/p/10546289.html
实验1:C++简单程序设计(1)的更多相关文章
- 实验一 c++简单程序设计
一.实验内容 1.ex 2_28 (1) 用if...else判断 #include<iostream> using namespace std; int main() { char i; ...
- 实验1:c++简单程序设计(1)
//文中有格式错误请无视 //这个编辑器一言难尽 实验目的 1. 掌握c++中类c部分的编程知识: 数据类型,常量,变量,运算符,表达式,分支结构,循环结构 2. 掌握C++中数据输入和输出的基本方法 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计
<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145208 实验三 Java面向对象程序设计
20145208 实验三 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
- 20162330 实验四 《Android程序设计》 实验报告
2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ...
- 20162302 实验四《Android程序设计》实验报告
实 验 报 告 课程:程序设计与数据结构 姓名:杨京典 班级:1623 学号:20162302 实验名称:Android程序设计 实验器材:装有Android Studio的联想拯救者80RQ 实验目 ...
- java实验四《Android程序设计》实验报告
一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:08 ...
- 2017-2018-2 20165312 实验四《Android程序设计》实验报告
2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ...
随机推荐
- Linux调整日期时间
Linux日期不准确,要更改 Linux 系统整个系统范围的时区可以使用如下命令: sudo rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/A ...
- OO第一次单元总结
第一次总结性博客 16071070 陈泽寅 2019.3.23 一.第一单元所学总结 首先先来总结一下第一单元我所学到的知识以及所感所悟.第一个单元,是我第一次接触JAVA语言,并且再使用了几次之后, ...
- cocos 常用组件
前面的话 本文将详细介绍 cocos 中的常用组件 Sprite [概述] Sprite(精灵)是 2D 游戏中最常见的显示图像的方式,在节点上添加 Sprite 组件,就可以在场景中显示项目资源中的 ...
- Dlib Opencv cv2.fitEllipse用于人眼轮廓椭圆拟合
dlib库的安装以及人脸特征点的识别分布分别在前两篇博文里面 Dlib Python 检测人脸特征点 Face Landmark Detection Mac OSX下安装dlib (Python) 这 ...
- 并查集(我根本不会切板子啊喂QWQ长文)(大雾
说句实话,我和并查集的缘分还是蛮深的,因为当年学完数论想着找板子题乱做(真是个神奇的找题方式呢),然后就看到了并查集QWQ,看了一会发现是图论就不看了,,,,,,结果还被说是大佬QWQ其实我只是个Na ...
- 您必须知道的 Git 分支开发规范
Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 master 分支 master 为主分 ...
- 3-ftp搭建成功,服务器能访问,外网无法连接和访问
登录 ECS 管理控制台,找到相应的实例. 在实例的右侧单击管理,进入实例详情页面.选择本实例安全组. 在安全组列表页面,找到相应的安全组,单击配置规则. 在安全组规则页面,单击添加安全组规则. 在添 ...
- java day02 记录
一.介绍运算符使用,包含+ - * / 及 自增.三元运算等 package com.itheima_02; /* * 赋值运算符: * 基本的赋值运算符:= * 扩展的赋值运算符:+=,-=,*=, ...
- jvm 字节码执行 (一)方法调用
“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器.硬件.指令集和操作系统层面上,而虚拟机的执行引擎是 由自己实现的,因此可以自行制定指令集 ...
- 081、Weave Scope 多主机监控(2019-04-29 周一)
参考https://www.cnblogs.com/CloudMan6/p/7674011.html Weave Scope 除了监控容器,还可以监控Docker Host. 点击顶部 HOS ...