实验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 ...
随机推荐
- A Base Class pointer can point to a derived class object. Why is the vice-versa not true?
问题转载自:https://stackoverflow.com/questions/4937180/a-base-class-pointer-can-point-to-a-derived-class- ...
- iOS企业开发者账号实现内部分发
前言 上个月由于公司开发的棋牌类游戏接近尾声,需要大量的苹果测试机来支持,之前只有一个公司开发者账号,每添加新的测试机都需要添加一次UDID,做了不少无用功,再加上本身外包性质的公司导致客户方面频繁更 ...
- 互联网+ 何人能挡?带着你的Code飞奔吧!
Python方向: 早期方向 Web全栈 擅长专栏 爬虫系列 数据分析 人工智能 物联网系(lot万物互联)[逆天很看好未来的前景] 自动化运维(安全与测试) 其他系列 游戏开发(最近很火) 导航栏: ...
- python学习day21 面向对象(三)嵌套/特殊方法
1.嵌套 类/方法/对象都可以当做变量或嵌套到其他类型中. 函数的参数可以是任意类型. 可哈希(不可变)数据类型可以做字典的key. 类和对象可以做字典的key. 2.特殊方法(8) __init__ ...
- vim命令替换操作
替换当前行第一个 vivian为sky :s/vivian/sky/ 替换当前行所有 vivian为sky :s/vivian/sky/g 替换第 n 行开始到最后一行中,每一行的第一个vivian为 ...
- 洛谷P4630 铁人两项--圆方树
一道很好的圆方树入门题 感谢PinkRabbit巨佬的博客,讲的太好啦 首先是构建圆方树的代码,也比较好想好记 void tarjan(int u) { dfn[u] = low[u] = ++dfn ...
- CF235B Let's Play Osu! 期望DP
貌似是一道很裸的期望\(DP\).直接说思路: 设\(f[i]\)表示到\(i\)位置时的期望分数,但是只有\(f[i]\)的话我们发现是无法转移的,我们还需要知道到\(i\)位置时的期望连续长度,于 ...
- maven deploy 指定-DaltDeploymentRepository
运行deploy出现如下错误: deployment failed repository element was not specified in the POM inside distributio ...
- Spring bean实例化的方式
实例化过程如图,方式如图. 甩代码. 方式一:构造方法 搞一个bean,修改一下xml配置 package com.itheima.instance.constructor; public class ...
- (模拟 打好基础)nyoj1363-计划日
1363-计划日 内存限制:256MB 时间限制:3000ms 特判: No通过数:21 提交数:79 难度:1 题目描述: 为什么花那么多时间.精力还是学不好学不通,如何把握各科目的重难点,期中和期 ...