C++练习记录

检测输入是否在A-Z之间

1、
//检测输入的字符是否在"A-Z"之间
int main(){
	char a = '\0';
	cout  << "输入一个字符:";
	//判断输入的字符是不是A-Z之间
	cin >> a;
	if(a >= 'A' && a <= 'Z'){
		cout << "输入合法";
	}else{
		cout << "输入不合法";
	} 

	return 0;
}

输入n个数求和

//输入n个数求和
#include <iostream>
using namespace std;
int main(){
    int sum=0,value=0;
//在遇到文件尾(\0)之前重复执行
    while(cin >> value){
        sum+=value;
    }
    cout << sum;
    
    
}

字符串总结

#include <iostream>
#include <iomanip>
using namespace std;
//字符串总结
int main(){
	//char a=97,  输出  a 
	char a='a';
	//输出  a  65 
	cout << a << " " << 'a'-32 << endl;
	// 'a'-32 是 65  但是 a=65 输出  A 
	a='a'-32;
	cout << a; 
	//总结:char a='1' 表示'1'这个字符赋值给a;char a=1表示ascii码等于1的字符赋值给a 
	

}

求最大公约数-a

#include <iostream>
#include <iomanip>
using namespace std;
//辗转相除法求最大公约数 
int main(){
	int a=0,b=0,r=0;
	cin >> a >> b;
	if(a<b){
		int temp=0;
		temp=a;
		a=b;
		b=temp;
	} 
	do{
		r=a%b;
		a=b;
		b=r;
	}while(r!=0);
	cout << "最大公约数为:" << a;

}

求最大公约数-b

#include <iostream>
#include <iomanip>
using namespace std;
//求最大公约数 
int main(){
	int a=0,b=0;
	cin >> a >> b;
	//Max为较大的数,_Max为最大公约数 
	int Max=0,_Max;
	if(a>b){
		Max=a;
	}else{
		Max=b;
	}
	for(int i=1;i<=Max;i++){
		if(a%i==0 && b%i==0){
			_Max=i;
		}
	}
	cout << _Max;

}

判断输入的字符的ASCII码是否为奇数

#include <iostream>
#include <iomanip>
using namespace std;
//判断字符的ASCII码是否为奇数 
int main(){ 
	char a;
	cin >> a;
	cout << a+0;
	if(a%2==1){
		cout << "YES";
	}else{
		cout << "NO"; 
	}
	
}

输入字符9输出11

#include <iostream>
#include <iomanip>
using namespace std;
//输入字符9输出11 
int main(){ 
	char a;
	cin >> a;
	cout << a-'0'+2;
}

输入n个数,求n个数的和与平均值

#include <iostream>
#include <iomanip>
using namespace std;
//输入n个数,求n个数的和与平均值 
int main(){ 
	int n=0,num=0;
	double sum=0.0;
	cin >> n;
	for(int i=0;i<n;i++){
		cin >> num;
		sum=sum+num;
	}
	cout << sum << " " << sum/n;
}

输入n个数,找出最大值

#include <iostream>
#include <iomanip>
using namespace std;
//输入n个数,找出最大值 ,-1000~1000 
int main(){ 
	int Max=-1000,n=0,num=0;
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >> num;
		if(Max<num){
			Max=num;
		}
	} 
	cout << Max;
	
}

去掉一个最大值,一个最小值求平均数

#include <iostream>
#include <iomanip>
using namespace std;

int main(){ 
	int score=0,max=0,min=10;
	float sum=0.0;
	for(int i=0;i<10;i++){
		cin >> score;
		sum += score;
		if(score>max){
			max=score;
		}
		if(score<min){
			min=score;
		}
	}
	cout << (sum-max-min)/8;
}

输出斐波那契数列

#include <iostream>
#include <iomanip>
using namespace std;
//输出斐波那契数列 
int main(){ 
	int n,sum=0,num1=1,num2=1;
	cin >> n;
	if(n>=2){
		cout<<num1<<endl<<num2<<endl;
	}else{
		cout<<num1<<endl;
	}
	for(int i=3;i<=n;i++){
		sum=num1+num2;
		num1=num2;
		num2=sum;
		cout << num2 <<endl;
	}

	
}

 

输出等边三角

#include <iostream>
#include <iomanip>
using namespace std;
//输出三角 
int main(){ 
	int n=0;
	cin >>n;
	for(int i=0;i<n;i++) {
		for(int j=n-1-i;j>0;j--){
			cout << " ";
		}
		for(int j=0;j<2*(i+1)-1;j++){
			cout << "*";
		}
		cout << endl;
	}

	
}

打印九九乘法表

#include <iostream>
#include <iomanip>
using namespace std;
//打印九九乘法表 
int main(){ 
	for(int i=1;i<=9;i++){
		for(int j=1;j<=i;j++){
			cout<<i << "*"<<j << "=" <<i*j<<"  ";
		} 
		cout<<endl;
	}

	
}

判断是否为质数

#include <iostream>
#include <iomanip>
using namespace std;
//判断质数 
int main(){ 
	int num;
	cin >> num;
	int flag=0;
	for(int i=2;i<num-1;i++){
		if(num%i==0){
			flag=1;
		}
	}
	if(flag==1){
		cout<<num<<"不是质数";
	}else{
		cout<<num<<"是质数"; 
	}
	
}

 

输出2~n之间的所有质数

	#include <iostream>
	#include <iomanip>
	using namespace std;
	//判断质数 
	int main(){ 
		int num;
		cin >> num;
		
		for(int n=2;n<=num;n++){
			int flag=0;
			for(int i=2;i*i<=n;i++){
				if(n%i==0){
					flag=1;
					cout<<flag;
					break; 
				}
			}
			if(flag==0){
				cout<<n<<""<<endl;
//				flag=1;
			}			
		}

		
	}

判断是否互为质数

	#include <iostream>
	#include <iomanip>
	using namespace std;
	//判断互为质数 
	int main(){ 
		int a=0,b=0;
		bool flag=1;
		cin >> a >> b;
		if(a>b){
			int temp;
			temp=a;
			a=b;
			b=a;
		}
/*优化版本
   但是2和8不成立! 
		for(int i=2;i<=a/2;i++){
			if(a%i==0 && b%i==0){
				flag=0;
			}
		}
*/

		for(int i=2;i<=a;i++){
			if(a%i==0 && b%i==0){
				flag=0;
			}
		}
		if(flag){
			cout << "yes";
		} else{
			cout << "no";
		}

		
	}

 

圆周率公式的两种方法

一、

 

	#include <iostream>
	#include <iomanip>
	using namespace std;
//	求圆周率 pi/4 =  1-1/3+1/5-1/7..... 
	int main(){ 
		double pi;
		int s=-1,n;
		double temp=0.0;
		cin >> n;
		for(int i=0;i<n;i++){
			s=s*(-1);
//			cout << i << endl;
/*
注意数据类型,如果1.0改成1  temp永远是1. 
*/
			temp=1.0/(1+2*i)*s;
//			cout << "1/(1+2*i)="<<1/(1+2*i)<<endl; 
//			cout << "temp="<<temp<<endl; 
			pi+=temp;
//			cout << "pi="<<pi<<endl;
		}
		cout << pi*4;
	}

二、

	#include <iostream>
	#include <iomanip>
	using namespace std;
//	求圆周率 pi/4 =  1-1/3+1/5-1/7..... 
	int main(){ 
		double pi;
		int n;
		double temp=0.0;
		cin >> n;
		for(int i=0;i<n;i++){
/*
注意数据类型,如果1.0改成1  temp永远是1. 
*/		
			temp=1.0/(1+2*i);
			/*	如果采用这种方式结果是
			pi = 1-1/3-1/5+1/7+1/9....... 
			
			if(i&2==0){
				temp=temp*(-1);
			} 
			pi+=temp;
			*/
			
			/*如果采用这种方式,答案为-3.14,
			因为i=0,所以奇数项是偶数,偶数项是奇数 
 			if(i%2==0){
			 	pi-=temp;
			 } else{
			 	pi+=temp;
			 }			
			*/
			 //正确答案
			 if(i%2==0){
			 	pi+=temp;
			 } else{
			 	pi-=temp;
			 }
			
		}
		cout << pi*4;
	}

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值