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; 
} 
 

posted @ 2018-09-17 13:03  王约翰  阅读(860)  评论(0编辑  收藏  举报