蓝桥杯练习题
1.问题描述
判断给定的三位数是否水仙花数。所谓水仙花数是指其值等于它本身每位数字立方和的数。例153就是一个水仙花数。153=13+53+33
#include<stdio.h>
int main () {
int a,b,c,d;
scanf("%d",&a);
b=a/100;
c=a/10%10;
d=a%10;
if((b*b*b+c*c*c+d*d*d)==a){
printf("YES");
}
else{
printf("NO");
}
//写你的代码
return 0;
}
2.问题描述
求出区间[a,b]中所有整数的质因数分解。‘
输出:
3=3
4=22
5=5
6=23
7=7
8=222
9=33
10=25
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,n,i,j;
scanf("%d %d",&a,&b);
for(a;a<=b;a++)
{
printf("%d=",a);
n=a;
j=2;
while(n!=j)
{
for(j=2;j<n;j++)
{
if(n%j==0 && n!=j)
{
printf("%d*",j);
n/=j;
break;
}
}
}
printf("%d\n",n);
}
return 0;
}
3.问题描述
给定一个以秒为单位的时间t,要求用'"的格式来表示这个时间。<表示时间, <>表示分钟,而表示秒,它们都是整数且没有前导的“O”。例如,若t=0,则应输出是“0:0:0";若t=3661,则输出“1:1:1”。
#include<stdio.h> int main () { int t,H,M,S; scanf("%d",&t); H=t/3600; M=t%3600/60; S=t%3600%60; printf("%d",H); printf(":"); printf("%d",M); printf(":"); printf("%d",S); //写你的代码 return 0; }
4.问题描述
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:
1.年份是4的倍数而不是100的倍数;
2.年份是400的倍数。
其他的年份都不是闰年。
#include <stdio.h> int main() { int year; scanf("%d",&year); if (year%400 == 0 || year%4 == 0 && year%100 != 0){ printf("yes"); } else{ printf("no"); } return 0; }
5.问题描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组各个元素
输出格式
按照要求输出
样例输入
7 2
77 11 66 22 44 33 55
样例输出
11 33 55 M
#include <iostream> #include<algorithm> using namespace std; int main() { int n,b,i,k; int num[101]; char ch; cin>>n>>b; for(i=0;i<n;i++) { cin>>num[i]; } sort(num,num+n); for(i=0;i<n;i++) { if(num[i]%b==0) { for(k=i;k<n-1;k++) { num[k]=num[k+1]; } n--; i--; } } for(i=0;i<n;i++) { if(num[i]>='A'&&num[i]<='Z') { ch=num[i]-65+'A'; cout<<ch<<" "; } else cout<<num[i]<<" "; } cout<<endl; return 0; }
6.问题描述
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
1:两个字符串长度不等。比如 Beijing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
输入格式
包括两行,每行都是一个字符串
输出格式
仅有一个数字,表明这两个字符串的关系编号
样例输入
BEIjing
beijing
样例输出
3
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; char s1[20],s2[20]; int main() { while(~scanf("%s %s",s1,s2)) { int flag=0; int l1=strlen(s1); int l2=strlen(s2); if(l1!=l2) printf("1\n"); else//strupr 把小写变成大写 strlwr 把大写变成小写 { if(strcmp(s1,s2)==0) printf("2\n"); else { //printf("%s %s>>>>\n",strupr(s1),strupr(s2)); if(strcmp(strupr(s1),strupr(s2))==0) printf("3\n"); else printf("4\n"); } } } return 0; }
好了,今天的分享就到这里了。点个赞吧
)