基础练习 字母图形
来源:互联网 发布:网络手机高清直播软件 编辑:程序博客网 时间:2024/06/05 16:30
原题网址:http://lx.lanqiao.org/problem.page?gpid=T7
题目:
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
BABCDEF
CBABCDE
DCBABCD
EDCBABC
数据规模与约定
1 <= n, m <= 26。
然后想到了打表。。(这个算是打表吧~~),先把Z~A~Z都给赋值到一个字符数组,确定显示的数量m,然后通过移动开始点n。把上面的补完就是这样:
GFEDCB # ABCDEFG
GFEDC # BABCDEFG
GFED # CBABCDEFG
GFE # DCBABCDEFG
GF # EDCBABCDEFG
其中#是开始的位置,m的值为7。
代码如下:
#include <stdio.h>#include <string.h>int main(){int n,m;scanf("%d %d", &n, &m);int i,j;char s[51];memset(s,0,sizeof(s)/sizeof(char));for (i=0; i<51; ++i){if (i<26){s[i] = 'Z'-i;}else{s[i] = 'A'+i-25;}}for (i=0; i<n; ++i){int k=0;for (j=25-i; k<m; ++k){printf("%c", s[j+k]);}printf("\n");}return 0;}
然后,在网上看到了一个简单点的代码:
#include <iostream>#include <cmath>using namespace std;int main(){int n,m;cin >> n >> m;for (int i=0; i<n; i++){for (int j=0; j<m; j++){cout << char('A'+abs(i-j));}cout << endl;}return 0;}
最后比较了下,发现我这个还不错。。
其实,做这题我主要了解到了。。memset函数竟然在string.h头文件中
0 0
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习-字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 基础练习 字母图形
- 条款09 绝不在构造和析构过程中调用virtual函数
- Android应用开发相关下载资源(2014/12/14更新)
- android开发之为何图片模糊显示情况之一
- Objective-C中的浅拷贝和深拷贝
- (一)UI设计的一些常识
- 基础练习 字母图形
- hdu2574 Hdu Girls' Day
- LeetCode[Hash Table]: Minimum Window Substring
- 算法竞赛入门经典第一、二章摘记
- iOS-基本数据类型-NSArray/NSMutableArray
- UVa 11752 The Super Powers(数学)
- Web开发中XML概述
- jqmPhp – jQuery Mobile项目的HTML代码生成器
- js得到昨天的时间