蓝桥杯基础训练超全习题题解——BASIC-1~3题

每日刷题(二十九)

BASIC-1、闰年判断

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>

void f(int n)
{
	if(n % 4 == 0 && n % 100 != 0)
		printf("yes\n");
	else if(n % 400 == 0)
		printf("yes\n");
	else
		printf("no\n");
}

int main()
{
	int n;
	scanf("%d", &n);
	f(n);
	return 0;
}

这题太简单,就不具体讲解了

BASIC-2、01字串*

在这里插入图片描述
在这里插入图片描述
这题看起来很简单,实质上还是有一点难度的,这里我提供两种解法

第一种方案,也是大多数人都能想到的,不难发现01字串的大小排列可以联想到二进制数,逢二进一,就是这样的本质

#include<stdio.h>

int main()
{
	int a, b, c, d, e;
	for(a = 0; a < 2; a++)
		for(b = 0; b < 2; b++)
			for(c = 0; c < 2; c++)
				for(d = 0; d < 2; d++)
					for(e = 0; e < 2; e++)
						printf("%d%d%d%d%d\n", a, b, c, d, e);
	return 0;
}

第二种方案,比较难想出来,除非你经常做题

#include<stdio.h>
 
int main()
{
    int arr[5] = { 0 };
    int k;
    int n, j, i;
    for(n = 0; n < 32; n++)
    {
        k = n;
        for(i = 0; i < 5; i++)
        {
            if (k % 2)
                arr[i] = 1;
            else
                arr[i] = 0;
            k = k / 2;
        }
        for(j = 4; j >= 0; j--)
        {
            printf("%d", arr[j]);
        }
        printf("\n");
    }
 
    return 0;
}

在这里插入图片描述

BASIC-3、字母图形*

在这里插入图片描述
在这里插入图片描述
经过观察,可以发现,A一直处于对角线上,而其他沿着A延伸的字母都是越来越大,它们都关于A这条对角线对称,随着行数的增加,同一列的元素也会慢慢变大,说明行与列的绝对值和元素所在位置的值有关。详细C代码如下:

#include<stdio.h>
#include<math.h>

int main()
{
	int n, m, i, j;
	scanf("%d %d", &n, &m);
	char a[n][m];

	for(i = 0; i < n; i++)
	{
		for(j = 0; j < m; j++)
		{
			printf("%c", 65 + abs(j - i));
		}
		printf("\n");
	}
	return 0;
}

如果喜欢我的文章,请记得三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持,下期更精彩!!!

发布了40 篇原创文章 · 获赞 7 · 访问量 3104

猜你喜欢

转载自blog.csdn.net/qq_44631615/article/details/104847587
今日推荐