注:每天都更新哦~,题目下面的代码都是经过测试正确的,欢迎有更好算法的大神指正,我会把您的代码也附上,相互学习。
蓝桥杯-基础练习:所有题
十六进制转八进制 进制转换 字符 循环
十六进制转十进制 进制转换 字符处理 判断
十进制转十六进制 循环 整除 求余 判断
特殊回文数 回文数 循环 条件语句
回文数 循环 判断 回文数
特殊的数字 循环 判断 数位
杨辉三角形 基础练习 二维数组
字母图形 循环 字符串
01字串 循环
闰年判断 条件判断
1.基础练习 数列排序
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
8 3 6 4 9
#include
using namespace std;
int main(){
long int n,i,j,max;
cin >>n;
long int list[n-1];
for(i=0;i>list[i];
}
for(j=0;jlist[i+1]){
max=list[i];
list[i]=list[i+1];
list[i+1]=max;
}
}
}
for(i=0;i
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:
1. 年份是4的倍数而不是100的倍数;
2. 年份是400的倍数。
其他的年份都不是闰年。
说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。
#include
using namespace std;
int main(){
int n;
cin >> n;
if(n%4==0 and n%100!=0){
cout << "yes";
}
else if(n%400==0){
cout << "yes";
}
else{
cout << "no";
}
return 0;
}
3.基础练习 01字串
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
00001
00010
00011
<以下部分省略>
#include
using namespace std;
int main(){
int i,j,k,l,m;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
for(l=0;l<2;l++)
for(m=0;m<2;m++)
cout<
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
#include
using namespace std;
int main(){
int n,i,f,stat=0;
cin>>n;
int list[n-1];
for(i=0;i>list[i];
}
cin >>f;
for(i=0;i
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
BABCDEF
CBABCDE
DCBABCD
EDCBABC
#include
using namespace std;
int main(){
char list[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int n,m,i,j;
cin >>n>>m;
for(i=0;i0;j--){
cout<
4.基础练习 数列特征
给出n个数,找出这n个数的最大值,最小值,和。
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
1 3 -2 4 5
-2
11
#include
using namespace std;
int main(){
int n,i,max=0,min=0,sum=0;
cin >>n;
int list[n-1];
cin>>list[0];
max=min=sum=list[0];
for(i=1;i>list[i];
if(list[i]>max){
max=list[i];
}
else if(list[i]
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
1 9 4 8 3 9
9
#include
using namespace std;
int main(){
int n,i,f,stat=0;
cin>>n;
int list[n-1];
for(i=0;i>list[i];
}
cin >>f;
for(i=0;i
7.基础练习 杨辉三角形
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出它的前n行。
输入包含一个数n。
1 1
1 2 1
1 3 3 1
#include
using namespace std;
int main(){
int n,i,j;
cin>>n;
int list[34][n];
for(i=0;i<=n-1;i++){
for(j=0;j<=i;j++){
if(i==0||j==0||j==i){
list[i][j]=1;
}
else{
list[i][j]=list[i-1][j-1]+list[i-1][j];
}
cout<
#include
using namespace std;
int main(){
int i,j,k;
int list[5];
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
list[0]=list[3]=i;
list[1]=list[2]=j;
for(k=0;k<=3;k++){
cout<
#include
#include
using namespace std;
int main(){
int i;
for(i=100;i<=999;i++){
if(i==(pow(i%10,3)+pow(i%100/10,3)+pow(i/100,3))){
cout<
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
989989
998899
#include
using namespace std;
int main(){
int sum,msum;
int i,j,k,h;
cin >>sum;
int list[6];
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
list[0]=list[4]=i;
list[1]=list[3]=j;
list[2]=k;list[5]=0;
msum=0;
for(h=0;h<6;h++){
msum=msum+list[h];
}
if(sum==msum){
for(h=0;h<5;h++){
cout<
10.基础练习 十进制转十六进制
给出一个非负整数,将它表示成十六进制的形式。
#include
using namespace std;
int main(){
int n;
int i,j=0,yushu,shang;
cin >>n;
char list[]="0123456789ABCDEF";
char result[10];
yushu=shang=n;
while(shang>=16){
yushu=shang%16;
shang=shang/16;
result[j]=list[yushu];
j=j+1;
}
if(shang<16){
result[j]=list[shang];
}
for(;j>=0;j--){
cout <
11.基础练习 十六进制转十进制
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
#include
#include
using namespace std;
int main(){
string n;
int i,j=0,lens,zhi;
unsigned long int sum=0;
cin >>n;
char list[]="0123456789ABCDEF";
lens=n.size();
//cout <=0;i--){
for(j=0;j<16;j++){
if(list[j]==n[i]){
zhi=j;
//cout<