蓝桥杯打卡第八天(2.7)

0ms 2023-02-07 18:08:41

1.题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝要用七段码数码管来表示一种特殊的文字。

图片描述

 

上图给出了七段码数码管的一个图示,数码管中一共有 77 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, ga,b,c,d,e,f,g。

小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。

例如:bb 发光,其他二极管不发光可以用来表达一种字符。

例如 cc 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。

例如:a, b, c, d, ea,b,c,d,e 发光,f, gf,g 不发光可以用来表达一种字符。

例如:b, fb,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。

请问,小蓝可以用七段码数码管表达多少种不同的字符

 

代码:

//发光二极管 
#include<stdio.h>
int main() {
	int a, b, c, d, e, f, g;
	int sum;
	a = 7; //一段二极管发光
	//a,b,c,d,e,f,g;
	b = 10; //两段二极管发光
	//ab,,af,bc,bg,cd,de,,eg,ef,fg;
	c = 16;//三段二极管发光
	//abf,abc,abg,afg,afe,bcd,bcg,bgf,bge,cgd,cgf,cge,cde,cdg,deg,def,efg
	d = 20; //四段二极管发光
	//abcd,abcg,abcf,abge,abgf,abfe,afeg,bcde,bcdg,bcgf,bcge,bged,bgef,cdef,
	//cdeg,cdgf,cgfa,cgfe,defg,defa
	e = 19; // //有五段二极管发光即有两端不发光; ab,ac,ad,ae,af,ag,bc,bd,be,bg,cd,
	//cf,cg,de,df,dg,ef,eg,fg
	f = 7; //(找一段二极管不发光的:)
	g = 1;//全部发光!
	sum = a + b + c + d + e + f + g;
	printf("%d", sum);
	return 0;
}

 

2.题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。

例如 4/3​,8/1​,1/7​, 都是既约分数。

请问,有多少个既约分数,分子和分母都是 1 到 2020之间的整数(包括 1 和 2020)?

代码:

#include<stdio.h>
int s(int fenzi, int fenmu) {
	if (fenzi % fenmu == 0) return fenmu;
	else return s(fenmu, fenzi % fenmu);
}//最大公约数 
int main() {
	int fenzi, fenmu, sum = 0;
	for (fenmu = 1; fenmu <= 2020; fenmu++) {
		for (fenzi = 1; fenzi <= 2020; fenzi++) {
			if (s(fenzi, fenmu) == 1) sum++;
		}
	}
	printf("%d", sum);
	return 0;

}

 

3.题目描述

小蓝要和朋友合作开发一个时间显示的网站。

在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970年 1 月 11日 0:0:0:0:0到当前时刻经过的毫秒数。

现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。

给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入描述

输入一行包含一个整数,表示时间。

输出描述

输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 00​​​​ 到 2323​​​​,MM 表示分,值为 00​​​​ 到 5959​​​,SS 表示秒,值为 00​​ 到 5959​。时、分、秒 不足两位时补前导 00。

代码:

#include<stdio.h>
int main() {
	long long i, l;
	int x, f, s;
	scanf("%lld", &i);
	l = i / 1000;//得到秒数
	s = l % 60; 
	l = l / 60;
	f = l % 60;
	l = l / 60;
	x = l % 24;
	printf("%02d:%02d:%02d", x, f, s);
	return 0;

}

注意:当前时刻经过的毫秒数,1000ms=1s。

总结:一屋不扫,何以扫天下!

 

...全文
9 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,228

社区成员

发帖
与我相关
我的任务
社区描述
打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
社区管理员
  • 川川菜鸟
  • 亡心灵
  • 星辰菜鸟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。

试试用AI创作助手写篇文章吧