C++基础练习题

第一题

根据用户输入的行和列进行打印

#include <iostream>
#include <windows.h>
#define g "&"//宏定义
using namespace std;

int main (void){
	int x;
	int y;
	cout<<"请输入每行的个数:";
	cin>>x;
	cout<<"打印几行?"<<endl;
	cin>>y;
	for(int i=1;i<=y;i++){
		cout<<endl;
		for(int q=1;q<=x;q++){
			cout<<g;
		}

	}

	cout<<endl;
	system("pause");
	return 0;
}

第二题

打印任意行数用*组成的三角

#include <iostream>
#include <windows.h>

using namespace std;
int main (void){
	int x;
	cout<<"打印几行?"<<endl;
	cin>>x;
	for(int i=1;i<=x;i++){
		cout<<endl;
		for(int a=1;a<=i;a++){
			cout<<"*";
		}
	}


	system("pause");
	return 0;
}

第三题

打印任意行数的倒三角

#include <iostream>
#include <windows.h>

using namespace std;
int main (void){
	int x;
	cout<<"打印几行?"<<endl;
	cin>>x;
	for(int i=1;i<=x;i++){
		cout<<endl;
		for(int q=x;q>=i;q--){
			cout<<"*";
		}
	}
	system("pause");
	return 0;
}

第四题

打印打印任意行数的金字塔

#include <iostream>
#include <windows.h>

using namespace std;
int main (void){
	int x;
	cout<<"打印几行?"<<endl;
	cin>>x;
	for(int i=1;i<=x;i++){
		cout<<endl;
		for(int q=x;q>=i;q--){
			cout<<"*";
		}
	}
	system("pause");

	return 0;
}

第五题

打印乘法口诀表

#include <iostream> 
#include <stdio.h>

using namespace std;
int main (void){
	for(int i=1;i<=9;i++){
		cout<<endl;
		for(int a=1;a<=i;a++){
			cout<<i<<"*"<<a<<"="<<i*a;
			cout<<"  ";
		}
	}

	cout<<endl;
	system("pause");
	return 0;
}

第六题

打印出所有水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

#include <iostream>
#include <windows.h>

using namespace std;
int main (void){
	int a,b,c;
	for(int i=100;i<=999;i++){
		a=i%10;
		b=(i/10)%10;
		c=i/100;
		if(a*a*a+b*b*b+c*c*c==i){
			cout<<i<<endl;
		}
	}

	system("pause");
	return 0;
}

第七题

打印任意个斐波那契数
斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列和兔子数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。

#include <iostream>
#include <windows.h>

using namespace std;
int main (void){
	//斐波那契数
	int a=0;
	int b=1;
	int c=1;
	int value;
	cout<<"请输入斐波那契数的个数:";
	cin>>a;
	if(a<=0){
		cout<<"请输入比0大的数!"<<endl;
		system("pause");
		return 1;
	}
	if(a==b){
		cout<<"1";
		system("pause");
		return 0;
	}
	if(a==c){
		cout<<"1 1";
		system("pause");
	}
	cout<<"1 1";
	for (int i=3;i<=a;i++){
		value=c+b;
		b=c;
		c=value;
		cout<<" "<<value;
	}
	cout<<endl;
	system("pause");
	return 0;
}

第八题

十进制,转二进制

#include <iostream>
#include <Windows.h>

using namespace std;
int main (void){
	int x;
	int y[32];
	int i;
	cout<<"请输入一个整数:";
	cin>>x;
	if(x<=0){
		cout<<"请输入一个正整数!"<<endl;
		system("pause");
		return 1;
	}
	i=0;
	while(x!=0){
		y[i]=x%2;
		x=x/2;
		i++;
	}
	for(i--;i>=0;i--){
	cout<<y[i];
	}
	cout<<endl;
	system("pause");
	return 0;
}

第九题

二进制,转十进制

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;
int main(void){
	string x;
	int y=0;
	int w=1;
	cout<<"请输入一个二进制数:";
	cin>>x;
	for(int i=x.length()-1;i>=0;i--){
		int s=x[i]-'0';
		y+=s*w;
		w*=2;
	}
	cout<<y<<endl;



	system("pause");
	return 0;
}

第十题

逆转字符串

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;
int main (void){
	string y;
	int x;
	cout<<"请输入想逆转的话:";
	cin>>y;
	x=y.length()-1;
	for(int i=x;i>=0;i--){
		cout<<y[i];
	
	}

	cout<<endl;
	system("pause");

	return 0;
}

第十一题

计算字符串,长度

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;
int main (void){
	string x;
	int y;

	cout<<"请输入一个字符串:";
	cin>>x;
	y=x.length();
	cout<<"字符串的长度是:"<<y<<endl;


	system("pause");
	return 0;
}

都是些既基础又经典的的题,没怎么写注释,有问题请联系我
qq:487863827

发布了5 篇原创文章 · 获赞 7 · 访问量 2340

猜你喜欢

转载自blog.csdn.net/qq_35803412/article/details/104718620