基础练习 字母图形
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
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版权协议,转载请附上原文出处链接和本声明。