蓝桥杯训练——2.23

基础练习 字母图形

问题描述

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

输入格式

输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。

输出格式
输出n行,每个m个字符,为你的图形。

样例输入

5 7

样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

数据规模与约定
1 <= n, m <= 26。

思路:

此题可以利用ASCII码转换来完成,也可以利用多次枚举和ASCII码转换实现,具体实现方法见代码。

源代码:

#include <stdio.h>
#include <math.h>
int main( )
{
    int m,n;
    scanf("%d%d",&n,&m);
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%c",abs(i-j)+'A');
        }
        printf("\n");
    }
    return 0;
}

视频练习:

视频链接:https://www.bilibili.com/video/BV1ty4y117go/?p=1

心得:

学习蓝桥杯比赛中循环与递归的实际用法,递归和循环都有退出条件,每次递归或循环执行的程序体都是一样的。while (true)循环和递归最相似,两者思路都很清晰,在实际应用中还应看重题目的要求来选择。

题目:

基础练习 FJ的字符串

问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?

输入格式

仅有一个数:N ≤ 26。

输出格式

请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

样例输入

3

样例输出

ABACABA

源代码:

#include<stdio.h>
#include<string.h> 
int main(){
	int n,i;
	char a[200000]={"A"};
	char b[200000];
	char c[2];
	scanf("%d",&n);
	if(n==1)
		printf("%s",a);
	else{	
		for(i=1;i<n;i++)
		{
			c[0]=65+i;
			strcpy(b,a);
			strcat(a,c);
			strcat(a,b);
		}
		printf("%s",a);
	}
	return 0;
	
} 

版权声明:本文为m0_53367364原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。