CPP学习

2019年10月20日

《CPP学习》

第一篇博客,记录在校学习CPP的过程。
包括一些代码,以及相关认识。不求其他,只望来日回首,步步脚印清晰。
最近做的一些习题。
有问题:均没有学习过别人更优秀的代码。
1、输入year ,判断是否闰年,输出交互
2、输入三个整数,输出最大的那个:
3、分段函数类型的编程,重在交互,体现人机愉快配合也很重要。
4、解一元二次方程,依次输入三个系数,判断delt,得到解
5、利用简化的分支语句来选出三者最大: “ xx? xx:xx”
5、用switch语句进行开关选择,根据实际情况需要分段计算且求和时,不给予“break”操作。
6、用switch语句(带break)实现基本运算。
7、利用循环输出1+……+100的值。注重简洁,用最短的代码解决问题。
8、利用cin.get()检测字符,利用循环结构来检测单词和行数
9、 P48页兔子生新人代码:利用for循环进行数列展示
10、输入一个不超过九位的正整数,求输出反向数字。
11、输出乘法口诀:
12、输出图案
13、判断素数:
14、 P55 利用数组置零来锁定素数,然后循环输出
15、简化枚举算法:求方程组的解
16、求最小公约数:
17、枚举型的输入和输出都会借用到“switch”语句。选气球。
18、 ofstream ifstream 输出输入。
19、转换百分制为五分制。用switch语句
20、输出图像:主点是把握好嵌套关系。

1、输入year ,判断是否闰年,输出交互


```cpp
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	int year;
	cout<<"请输入待判断的年份:";
	cin>>year;
	if(year%4==0&&year%100!=0||year%400==0)
		cout<<"您输入的年份是:"<<year<<"年"<<'\t'<<"是闰年"<<endl;
	else 
		cout<<"您输入的年份不是闰年"<<endl;
	return 0;
}



2、输入三个整数,输出最大的那个:

```cpp
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	int a,b,c,max;
	cout<<"请输入三个整数:"<<endl;
	cin>>a>>b>>c;
	if(a>=b) max=a;      //两两比较,大的赋值给max
	else   max=b;
	if(max>=c) ;
	else max=c;
	cout<<"三个数中最大的是:"<<max<<endl;
}

***else就近配对!

3、分段函数类型的编程,重在交互,体现人机愉快配合也很重要。


```cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
   
	double number,total_price,single_price;
	double discount;
	cout<<"请输入商品的单价:(整数)"<<endl;
	cin>>single_price;
	cout<<"请输入顾客一次购买的数量:(整数)"<<endl;
	cin>>number;
	if(number>=5&&number<=9) discount=0.9;
	else 
		if(number>=10) discount=0.8;
	    else discount=1.0; 
	total_price=(double)number*single_price*discount;
	cout<<"您一次购买的数量为:"<<number<<'\t'<<"该数量下的优惠为打"<<discount*10<<"折"<<'\t'<<"您应该支付的总价为:"<<total_price<<"元"<<endl;
}



4、解一元二次方程,依次输入三个系数,判断delt,得到解

```cpp
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
	
	float a,b,c,delta;
	float x1,x2;
	cout<<"请输入一元二次方程的各个系数:a,b,c"<<endl;
	cin>>a>>b>>c;
	delta=b*b-4*a*c;
	if(delta>0){
		delta=sqrt(delta);
	    x1=(-b+delta)/(2*a);
		x2=(-b-delta)/(2*a);
		cout<<"方程有两个不同实根:x1="<<x1<<'\t'<<"x2="<<x2<<endl;}
	else 
		if(delta==0)
		{  x1=x2=-b/(2*a);
	       cout<<"方程有两个相等的根:x1=x2="<<x1<<endl;}
	    else cout<<"该方程没有实根"<<endl;	
	
}

5、利用简化的分支语句来选出三者最大: “ xx? xx:xx”
意思是xx成立与否?,成立则执行冒号前面的,否则执行冒号后面的;

#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
   
	int a,b,c,max,t;
	cin>>a>>b>>c;
	max=((t=a>=b? a:b)>=c? t:c);   //这里面后两层判断。第一层判断ab,较大者赋值给t。第二层判断tc,较大者赋值给max。
	cout<<"最大的是:"<<max<<endl;
}

5、用switch语句进行开关选择,根据实际情况需要分段计算且求和时,不给予“break”操作。

#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
   
	int c,s,s1;
	double p,w,f,d;
	cout<<"请输入每公里每吨运费:"<<endl;
	cin>>p;
	cout<<"请输入运输距离:"<<endl;
	cin>>s;
	cout<<"请输入货物重量:"<<endl;
	cin>>w;

	c=s/250;f=0;
	s1=s;
	switch(c)
	{
   
	default:d=0.15;f+=p*w*(s-3000)*(1-d);s=3000;
	case 8:case 9:case 10:case 11: d=0.10;f+=p*w*(s-2000)*(1-d);s=2000;
	case 4:case 5:case 6:case 7: d=0.08;f+=p*w*(s-1000)*(1-d);s=1000;
	case 2:case 3:d=0.05;f+=p*w*(s-500)*(1-d);s=500;//此处学会“把开关合起来,同一个操作”
	case 1:d=0.02;f+=p*w*(s-250)*(1-d);s=250;
	case 0:d=0;f+=p*w*s*(1-d);
	}
	cout<<"运输总距离为:"<<s1<<endl;
	cout<<"运输总重量为:"<<w<<endl;
	cout<<"所需总费用为:"<<f<<endl;
}

6、用switch语句(带break)实现基本运算。

#include "stdafx.h"
#include<iostream>
#include<cmath>
using namespace std;
int main(){
   
	char op;
	double num1,num2,res;
	cout<<"输入需要进行的操作:如2+3"<<endl;
	cin>>num1>>op>>num2;
	switch (op){
   
		case '+':res=num1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值