蓝桥杯 基础训练C++(一)
1. Fibonacci数列
#include<stdio.h>
int main()
{
int i,n,f1=1,f2=1,f3;
scanf("%d",&n);
for(i=3;i<=n;i++)
{
f3=(f1+f2)%10007;
f1=f2;
f2=f3;
}
printf("%d",f3);
return 0;
}
2.求圆的面积
#include<stdio.h>
#define pi 3.14159265358979323
int main()
{
int r;
double s;
scanf("%d",&r);
s=r*r*pi;
printf("%.7f",s);
return 0;
}
3. 序列求和
#include<stdio.h>
int main()
{
int a[10000],i,sum=0,n,b;
for(i=0;i<1000;i++)
{
a[i]=i;
}
scanf("%d",&n);
for(b=1;b<=n;b++)
{
sum+=a[b];
}
printf("%d",sum);
return 0;
}
4. A+B问题
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;
}
5. 数列排序
#include<stdio.h>
int main()
{
int j,i,q,x,n;
scanf("%d\n",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(q=0;q<n-1;q++)
{
for(j=q+1;j<n;j++)
if(a[q]>a[j])
{
x=a[q];
a[q]=a[j];
a[j]=x;
}
}
for(q=0;q<n;q++)
printf("%-2d",a[q]);
return 0;
}
6.十六进制转八进制
#include<stdio.h>
int main()
{
int n,b,i;
scanf("%d",&n);
long a[n];
for(i=0;i<n;i++)
{
scanf("%x",&a[i]);
}
for(b=0;b<n;b++)
printf("%o\n",a[b]);
return 0;
}
7. 十六进制转十进
#include<stdio.h>
int main()
{
int a;
scanf("%x",&a);
printf("%d\n",a);
return 0;
}
8. 十进制转十六进制
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%x\n",a);
return 0;
}
9.特殊回文数
#include<stdio.h>
int main()
{
int a,x,b,c,d,e,f,i;
scanf("%d",&x);
for(i=10000;i<100000;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
d=i/1000%10;
e=i/10000%10;
if(a==e&&b==d&&a+b+c+d+e==x)
printf("%d\n",i);
}
for(i=100000;i<1000000;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
d=i/1000%10;
e=i/10000%10;
f=i/100000%10;
if(a==f&&b==e&&c==d&&a+b+c+d+e+f==x)
printf("%d\n",i);
}
return 0;
}
10 .回文数
#include<stdio.h>
int main()
{
int a,b,c,d,i;
for(i=1000;i<10000;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
d=i/1000%10;
if(a==d&&b==c)
printf("%d\n",i);
}
return 0;
}
11 .(水仙花数)特殊的数字
#include<stdio.h>
int main()
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
return 0;
}
12 . 杨辉三角形
#include<stdio.h>
int main()
{
int b,n,i,j,c;
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(c=0;c<n;c++)
{
for(b=0;b<=c;b++)
{
printf("%-2d",a[c][b]);
}printf("\n");
}
return 0;
}
13. 查找整数
#include<stdio.h>
int main()
{
int n,i,b;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&b);
for(i=0;i<n;i++)
{
if(b==a[i]){
printf("%d",i+1);
break;}
}
return 0;
}
14 .数列特征
#include<stdio.h>
int main()
{
int sum=0,i,max,min,n;
scanf("%d\n",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
sum+=a[i];
if(max<a[i])max=a[i];
if(min>a[i])min=a[i];
}
printf("%d\n%d\n%d\n",max,min,sum);
return 0;
}
15. 字母图形
#include<stdio.h>
int main()
{
int a,b,i,j,x=0;
char w[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
scanf("%d %d",&a,&b);
char q[a][b];
for(i=0;i<a;i++)
{ x=0;
for(j=i;j<b;j++)
{
q[i][j]=w[x];
x++;
}
}
for(i=0;i<b;i++)
{ x=0;
for(j=i;j<a;j++)
{
q[j][i]=w[x];
x++;
}
}
for(i=0;i<a;i++)
{
for( j=0;j<b;j++)
{
printf("%c",q[i][j]);
}
printf("\n");
}
return 0;
}
16. 01字串
#include<stdio.h>
int main()
{
int z=0,x=0,c=0,d=0,v=0,i;
for(i=1;i<=32;i++)
{
if(z==2){z=0;x+=1;}
if(x==2){x=0;c+=1;}
if(c==2){c=0;d+=1;}
if(d==2){d=0;v+=1;}
if(v==2)break;
printf("%d%d%d%d%d\n",v,d,c,x,z);
z=z+1;
}
return 0;
}
17 . 闰年判断
#include<stdio.h>
int main()
{
int y;
scanf("%d",&y);
if(y>=1990&&y<= 2050)
{
if(y%4==0&&y%100!=0||y%400==0)
printf("yes");
else
printf("no");
}
return 0;
}