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,分别表 ...
随机推荐
- ActivityGroup window bad token问题深入分析
如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 ActivityGroup window bad token问题深入分析 近期帮别人调试一个webview ...
- cp实现无提示覆盖拷贝
在我们使用cp批量拷贝时,即使使用cp -rf ,遇到需要覆盖时,也是需要确认是否覆盖的. 解决办法1: 我们使用alias看一下别名设置会发现这样一行 alias cp='cp -i' 意思就是使用 ...
- redhat5.8系统学习
# redhat5.8系统学习 ### 简介-----------------------------redhat操作系统是红帽公司的收费版操作系统 ### 查看系统版本号-------------- ...
- sscanf()的用法
头文件 #include 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscanf ...
- WebMethod Session
[WebMethod(EnableSession = true)] public static string SayHello() { LxUserContext depno = HttpContex ...
- 抒发一下这些天用django做web项目的一些体会
最近接触了一段时间的python,觉得python写脚本还是挺方便的,做一个简单的桌面应用也很nice,但是随着深入,对python做功能复杂的web项目我彻底死心了,每个环节都是一堆的坑,部署阶段 ...
- Unity3D学习笔记——IDE工作视图
Unity3D中五个界面的使用: Project视图:存放游戏资源,比如贴图,音频,JS脚本等 Project中可创建的文件如下: Hierarchy视图:主要存放游戏场景中的对象,如摄像机,精灵,箱 ...
- UICollectionView sectionHeader and sectionFooter悬浮
UICollectionViewFlowLayout *yLayout = [[UICollectionViewFlowLayout alloc] init]; yLayout.sectionHead ...
- iOS面试题--Model层--数据持久化储存方案
数据持久化储存方案有哪些? iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSU ...
- Chromium开发--入门C++小样例
開始做Chromium开发的时候,都是从代码去摸索的,如今有几个样例了.希望看到的同学能有帮助,比直接在大量代码里领悟要快非常多了. C++ in Chromium 101 - Codelab h ...