C++程序设计练习(一)
// 1. 在屏幕上输出内容
#include<iostream>
using namespace std;
int main(){
int i= 1;
cout<<"欢迎"<<endl;
cout<<'a'<<endl;
cout<<"i="<<i<<endl;
cout<<'\n';
return 0;
}
// 2.规格不同的箱子(变量)
#include<iostream>
#include<climits>
#include<cfloat>
using namespace std;
int main(){
int i; //基本整型
short j; //短整型
long k; //长整型
float ii; //单精度型
double jj; //双精度型
long double kk; //扩展双精度型
cout<<"i:("<<INT_MIN<<","<<INT_MAX<<")"<<endl; //基本整型
cout<<"i:("<<SHRT_MIN<<","<<SHRT_MAX<<")"<<endl; //短整型
cout<<"i:("<<LONG_MIN<<","<<LONG_MAX<<")"<<endl; //长整型
cout<<"i:("<<FLT_MIN<<","<<FLT_MAX<<")"<<endl; //单精度型
cout<<"i:("<<DBL_MIN<<","<<DBL_MAX<<")"<<endl; //双精度型
cout<<"i:("<<LDBL_MIN<<","<<LDBL_MAX<<")"<<endl; //扩展双精度型
return 0;
}
// 3.物品存放(变量)
#include<iostream>
using namespace std;
int main(){
int i = 1; //基本整型
short j = 2; //短整型
long k = 3; //长整型
float ii = 1.1; //单精度型
double jj = 1.234; //双精度型
long double kk = 1.23456; //扩展双精度型
cout<<"i="<<i<<endl;
cout<<"j="<<i<<endl;
cout<<"k="<<i<<endl;
cout<<"ii="<<i<<endl;
cout<<"jj="<<i<<endl;
cout<<"kk="<<i<<endl;
}
// 4.交换物品(变量)
#include<iostream>
using namespace std;
int main(){
int i; //整形变量i
int j; //整形变量j
int temp; //临时变量
i = 5;
j = 10;
cout<<"i="<<i<<endl<<"j="<<j<<endl; //交换之前
//交换
temp = 1;
i = j;
j = temp;
cout<<"i="<<i<<endl<<"j="<<j<<endl; //交换之后
return 0;
}
// 5.消失的重量
#include<iostream>
using namespace std;
int main(){
float i; //浮点型数值-重量1
int j; //整形数值-重量2
int sum; //总重量
i = 0.002;
j = 2;
sum = i+j; //计算总重量
cout<<"sum="<<sum<<endl; //输出
return 0;
}
// 6、游泳池的容量
#include<iostream>
using namespace std;
int main(){
int Pool_volume; //游泳池容量
int count = 10; //循环次数
while(count!=0){
cin>>Pool_volume; //输入数据
if(Pool_volume < 100) //如果小于100升,池中水没溢出
cout<<"游泳池中水没溢出,可以继续加水"<<endl;
else
cout<<"游泳池中水已满,必须停止加水或者加入另一个游泳池"<<endl;
count--;
}
return 0;
}
// 7.显示转换(类型转换)
#include<iostream>
using namespace std;
int main(){
int i = 1; //整型
float j = 2.234; //浮点型
i = (int)j; //显示类型的转换
cout<<"赋值后的i值"<<i<<endl;
return 0;
}
// 8、单片机应用(位操作)
#include<iostream>
using namespace std;
int main(){
int a = 10;
int b = 2;
int c;
c = a & b;
cout<<"对a和b进行按位与后的结果为:"<<c<<endl;
c = a | b;
cout<<"对a和b进行按位或后的结果为:"<<c<<endl;
c = a ^ b;
cout<<"对a和b进行按位异或后的结果为:"<<c<<endl;
c = ~a;
cout<<"对a进行按位求反后的结果为:"<<c<<endl;
c = a<<1;
cout<<"对a向左移动一位后的结果为:"<<c<<endl;
c = a>>1;
cout<<"对a向右移动一位后的结果为:"<<c<<endl;
}
//9、房间面积
#include<iostream>
using namespace std;
int main(){
int i = 1; //整型
float j = 2.234; //浮点型
i = (int)j; //显式类型转换
cout<<"赋值后的i值:"<<i<<endl;
return 0;
}
//10、平分物品(/)
#include<iostream>
using namespace std;
int main(){
int apple_number = 60; //60个苹果
int people = 12; //12个人
int apple_per_people; //每个人分多少个苹果
if(people !=0){ //判断除数是否为0
apple_per_people = apple_number/people; //计算平均数
cout<<"平均分配,每个人得"<<apple_per_people<<"个苹果"<<endl;
} //输出
else
cout<<"除数为0,出现异常"<<endl;
return 0;
}
//11、取余数(%)
#include<iostream>
using namespace std;
int main(){
int apple_number = 60; //一共60个苹果
int people = 7; //有7个小朋友
int apple_remain; //平均分后还剩几个苹果
if(people == 0) //判断取余数是否为0
cout<<"错误"<<endl;
else{
apple_remain = apple_number % people; //取余
cout<<"平均分配后还剩"<<apple_remain<<"个苹果"<<endl;
}
return 0;
}
//12、公司组织看电影(综合)
#include<iostream>
using namespace std;
int main(){
float sum = 1000.0;
int male = 4;
int female = 4;
float ticket_value_male = 35.0;
float ticket_value_female;
ticket_value_female = ticket_value_male/2;
float remain;
int male_remain;
remain = sum - (male * ticket_value_male + female * ticket_value_female);
cout<<"还剩"<<remain<<"元"<<endl;
male_remain = (int)(remain / ticket_value_female);
cout<<"剩余"<<remain<<"元还能让"<<male_remain<<"位男士看电影"<<endl;
return 0;
}
//13、称水果(比较)
#include<iostream>
using namespace std;
int main(){
float fruit_weight; //水果的重量
int fruit_weight_cal; //被计算的水果重量
cout<<"输入所称水果的重量:"<<endl;
cin>>fruit_weight;
if((fruit_weight - (int)fruit_weight) < 0.5) //舍去
fruit_weight_cal = (int)fruit_weight;
else //五入
fruit_weight_cal = (int)fruit_weight + 1;
cout<<"一共有"<<fruit_weight_cal<<"斤水果需要被付钱"<<endl;
return 0;
}
//14、简单算术(优先级)
#include<iostream>
using namespace std;
int level(char ch){
switch(ch){
case '!':
return 2;
break;
case '*':
return 3;
break;
case '/':
return 3;
break;
case '+':
return 3;
break;
case '-':
return 3;
break;
case '=':
return 3;
break;
default:
return -1;
break;
}
}
int main(){
char symbol[3];
int value[3];
cout<<"从!、*、/、%、+、-、=运算符中选择3个参与算术运算"<<endl;
cin>>symbol[0]>>symbol[1]>>symbol[2];
value[0]=level(symbol[0]);
value[1]=level(symbol[1]);
value[2]=level(symbol[2]);
if((value[0]==-1) || (value[1]==-1) || (value[2]==-1)) //只要有一个返回负数
cout<<"库中没有输入的运算符"<<endl;
else
{
for(int i = 0;i < 3;i++){
for(int j = 1;j<3;j++){
if(value[i]>value[j]) //如果前一个大于后一个,开始交换
{
char temp;
temp = symbol[i];
symbol[i] = symbol[j];
symbol[j] = temp;
}
}
}
cout<<"依次进入运算的顺序为:"<<endl;
for(int k=0;k<3;k++)
cout<<symbol[k]<<endl;
}
return 0;
}
//2.1 计算年份是否为闰年(各种运算符结合)
#include<iostream>
using namespace std;
int main(){
int year;
cin>>year;
if(year % 4 == 0)
cout<<year<<"年是闰年"<<endl;
else{
if((year % 4 == 0) && (year % 100 != 0))
cout<<year<<"年是闰年"<<endl;
else
cout<<year<<"年不是闰年"<<endl;
}
return 0;
}
//2.2 打印ASCII码表
#include<iostream>
using namespace std;
int main(){
int i = 0;
for(int rows = 0; rows < 16; rows++){
i = rows;
while(i <= 127){
switch(i){
case 7: //振铃
cout<<i<<"="<<"\\a"<<" | ";
break;
case 8: //退格
cout<<i<<"="<<"\\b"<<" | ";
break;
case 9: //水平制表符
cout<<i<<"="<<"\\t"<<" | ";
break;
case 10: //换行
cout<<i<<"="<<"\\n"<<" | ";
break;
case 11: //竖直制表符
cout<<i<<"="<<"\\v"<<" | ";
break;
case 12: //换页
cout<<i<<"="<<"\\f"<<" | ";
break;
case 13: //回车
cout<<i<<"="<<"\\r"<<" | ";
break;
default:
cout<<i<<"="<<char(i)<<" | ";
break;
}
i+=16; //每隔16个另起一列
}
cout<<endl;
}
return 0;
}
//2.3 求完数
#include<iostream>
using namespace std;
int main(){
int shu; //变量数字
cout<<"请输入一个任意的自然数:"<<endl;
cin>>shu; //输入数字
//求输入数字的所有真因子
int *zhen_yinzi = new int[shu]; //不知道真因子有多少个,所以用指针指向
int index = 0; //个数索引变量,初始化为0
int sum = 0; //所有真因子的总和
zhen_yinzi[0] = 1; //所有数字都有一个真因子为1
for(int i = 2;i< shu;i++){ //循环查找所有的因子
if(shu % i == 0){ //表示该因子为真因子
index ++;
zhen_yinzi[index] = i;
}
}
for(int j = 0;j <= index; j++){ //将所欲的真因子相加
sum += zhen_yinzi[j];
}
delete[] zhen_yinzi; //释放内存
zhen_yinzi = NULL;
if(sum == shu) //如果真因子之等于数字本身看,即为完数
cout<<"数字"<<shu<<"是完数"<<endl;
else
cout<<"数字"<<shu<<"不是完数"<<endl;
return 0;
}
//2.4 密码验证(if...else)
#include<iostream>
#include<string>
using namespace std;
#define Code "123456"
int main(){
cout<<"请输入密码:";
string input_code; //被验证的密码
cin>>input_code;
if(input_code == Code) //如果相同,则密码为真
cout<<"密码验证成功!"<<endl;
else //为假
cout<<"密码验证失败!"<<endl;
return 0;
}
// 2.5、图书管理(if...else if...else)
#include<iostream>
using namespace std;
int main(){
cout<<"图书管理系统功能:"<<endl;
cout<<"1-借书功能管理"<<endl;
cout<<"2-还书功能管理"<<endl;
cout<<"3-图书分类管理"<<endl;
cout<<"4-图书基本信息管理"<<endl;
cout<<"5-当前图书状态查询功能"<<endl;
cout<<"0-退出"<<endl;
int status;
int count = 10;
while(count!=0){
cout<<"请输入您当前的选择:";
cin>>status;
if(status == 0){ //退出成功
cout<<"退出成功!"<<endl;
break;
}
else if(status == 1) //借书
cout<<"进入借书功能管理模块!"<<endl;
else if(status == 2) //还书
cout<<"进入还书功能管理模块!"<<endl;
else if(status == 3) //图书分类管理
cout<<"进入图书分类管理模块!"<<endl;
else if(status == 4) //图书基本信息
cout<<"进入图书基本信息管理模块!"<<endl;
else //查询当前图书状态
cout<<"进入当前图书状态查询功能!"<<endl;
count--;
}
return 0;
}
//2.6、信号灯(++--)
#include<iostream>
using namespace std;
int main(){
int count = 1;
cout<<"灭"<<endl;
for(;count<10;) //循环
{
int a;
a = count++;
if(a%2 == 0) //偶数
cout<<"亮"<<endl;
else
cout<<"灭"<<endl;
}
return 0;
}
//2.7、 简单地获取变量的字节大小(sizeof)
#include<iostream>
using namespace std;
int main(){
int a = 6; //一个整形变量
int int_size; //整形变量的字节大小
int_size = sizeof(a); //取变量字节大小
cout<<"变量a所占的字节大小为:"<<int_size<<endl;
return 0;
}
//2.8、求余下的物品书(%)
#include<iostream>
using namespace std;
int main(){
int quantity_goods = 10000; //总的物品数
int number_staff = 189; //员工数目
int goods_remain; //剩余物品
goods_remain = quantity_goods % number_staff; //计算剩余物品
cout<<"余下的物品书:"<<goods_remain<<endl;
return 0;
}
C++程序设计练习(一)的更多相关文章
- HTML5 程序设计 - 使用HTML5 Canvas API
请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...
- 解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计
ERP系统的单据具备标准的功能,这里的单据可翻译为Bill,Document,Entry,具备相似的工具条操作界面.通过设计可复用的基类,子类只需要继承基类窗体即可完成单据功能的程序设计.先看标准的销 ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- CWMP开源代码研究5——CWMP程序设计思想
声明:本文涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文介绍自己用过的ACS,其中包括开源版(提供下载包)和商业版(仅提供安装包下载 ...
- 《JavaScript高级程序设计(第3版)》笔记-序
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 【实战Java高并发程序设计 7】让线程之间互相帮助--SynchronousQueue的实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计 5】让普通变量也享受原子操作
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 【实战Java高并发程序设计 4】数组也能无锁:AtomicIntegerArray
除了提供基本数据类型外,JDK还为我们准备了数组等复合结构.当前可用的原子数组有:AtomicIntegerArray.AtomicLongArray和AtomicReferenceArray,分别表 ...
随机推荐
- springboot学习(九) 使用mybatis访问数据库
1.添加maven依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId ...
- Leetcode:integer_to_roman
一. 题目 将给定的数字(阿拉伯数字)转化成罗马数字. 数字不会大于3999 二. 分析 首先我们要知道神马是罗马数字,尽管听说过.但事实上我还真没有记住,于是就google了下,具体 ...
- js - 类模拟
JavaScript 中并没有真正的类,但JavaScript 中有 构造函数 和 new 运算符. - 任何JavaScript 函数都可以用做构造函数, - 构造函数必须使用 new 运算符来创建 ...
- QT错误笔记-Qt Creator needs a compiler set up to build. Configure a compiler in the kit options.
上午在linux环境下,使用QT编译一段C++代码,出现下列错误: 最近在stackoverflow上找到了答案: i was also having the same problem so what ...
- HTML5 中fullscreen 中的几个API和fullscreen欺骗
// 转自:https://my.oschina.net/jackyrong/blog/114086 HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时 ...
- iOS开发探索-图片压缩处理
介绍: 压: 指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降.缩: 指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体积同样会减小. 应用: 在实际开发中,我们经常会对图片进行 ...
- 【转】SQL SERVER 2005 数据库状态为“可疑”的解决方法
--MyDB为修复的数据名 USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO ALTER DATABA ...
- FreeBSD将SHELL从csh换成bash并支持中文显示
刚准备在FreeBSD下学习Shell,结果发现怎么好多命令都没有,比如declare.后来发现连bash都没有,好像bash用的多一些吧,于是就准备将csh换成bash. 由于没有bash,所以先得 ...
- mySQL 开启事件存储过程
怎样在Navicat中设置,是数据库按照记录中的日期更新状态字段 其实这个很常用,比如你网站里的某条记录的日期——比如说数据库中某条活动记录的审核日期字段已经过期,亦即当前时间已经超过审核日期,那么定 ...
- 【spring boot】在spring boot下使用多线程
使用场景: 方法处理到某一步,需要将信息交给另一个线程去处理!! =================================================================== ...