实验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 ...
随机推荐
- [ffmpeg] 解码API
版本迭代 ffmpeg解码API经过了好几个版本的迭代,上一个版本的API是 解码视频:avcodec_decode_video2 解码音频:avcodec_decode_audio4 我们现在能看到 ...
- Nginx从入门到实践(四)
Nginx常见问题和排错经验,实践应用场景中的方法处理Nginx安全,常见的应用层安全隐患,复杂访问控制,Nignx的sql防注入安全策略,Nginx的整体配置,搭建合理Nginx中间件架构配置步骤. ...
- Linux lvs三种模式工作原理
LVS:Linux Virtual Sevser,Linux虚拟服务器,由章文嵩先生成立的有关负载均衡的开源项目.基于Linux内核.优化后并发量可以达到百万级. NAT模式: NAT(Network ...
- swagger.core的使用方法
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务,那么如何在abp中使用呢,已经有大牛为我们实现了一个swagger.core的组件而作为菜鸟 ...
- Codeforces 1095F Make It Connected(最小生成树)
题目链接:Make It Connected 题意:给定一张$n$个顶点(每个顶点有权值$a_i$)的无向图,和已连接的拥有边权$w_i$的$m$条边,顶点u和顶点v直接如果新建边,边权为$a_u+a ...
- NOI2019十二省联考旅游记
真的是去旅游的啊,毕竟菜是原罪嘛 Day 0 去指定地点试机,果然,键盘还是一如既往的不好用,我也不知道为什么. 晚上,教练请吃自助餐,幸福的像个胖子 Day 1 早上坐车过去,在车上看了看原来写过的 ...
- 【CTSC2016】时空旅行
链接 http://uoj.ac/problem/198 题解 首先要发现答案要我们求这个式子: \[ ans=min\bigl((x_i-x)^2+c_i\bigr) \] 显而易见的是这种时空嫁接 ...
- guns初级使用
1.下载guns gitee地址:https://gitee.com/stylefeng/guns 这里使用的是Guns v5.1 2.配置环境 2.1 导入项目 解压从gitee上下载的guns源码 ...
- 【转】TEA、XTEA、XXTEA加密解密算法(C语言实现)
ref : https://blog.csdn.net/gsls200808/article/details/48243019 在密码学中,微型加密算法(Tiny Encryption Algorit ...
- Eclipse使用JDBC小案例
JDBC(Java Database Connectivity:Java访问数据库的解决方案)定义一套标准接口,即访问数据库的通用API,不同数据库厂商根据各自数据的特点去实现这些接口. JDBC是J ...