让用户输入一个奇数,打印菱形,最长的行内容个数为用户输入的个数,并且由英文字母拼接而成

Console.Write("请输入一个数字:");
try
{
int a = Convert.ToInt32(Console.ReadLine());
if (a % 2 != 0)
{
for (int i = 1; i <= (a+1)/2; i++)//菱形上半部分
{
int c = ((i * 2 - 1) + 1) / 2 - 1;//中间值
string end = "";
char b='a';
int count = 0;
bool d = false;
for (int j = 1; j <=(a+1)/2-i; j++)
{
end += " ";
}
for (int j = 1; j <= i * 2 - 1; j++)
{
end += b;
if (count == c)
{
d = true;
}
if (d)
{
if (b == 'A')
{
b = 'Z';
}
else
{
b--;
}
}
else
{
if (b == 'Z')
{
b = 'A';
}
else
{
b++;
}
count++;
}
}
Console.WriteLine(end);
}
for (int i = 1; i < (a + 1) / 2; i++)//菱形的下半部分
{
char b = 'a';
int c = ((a - i * 2)+1) / 2 - 1;
string end = "";
int count = 0;
bool d = false;
for (int j = 1; j <= i; j++)
{
end += " ";
}
for (int j = 1; j < (a - i * 2) + 1; j++)
{
end += b;
if (count == c)
{
d = true;
}
if (d)
{
if (b == 'A')
{
b = 'Z';
}
else
{
b--;
}
}
else
{
if (b == 'Z')
{
b = 'A';
}
else
{
b++;
}
count++; }
}
Console.WriteLine(end);
}
}
else
{
Console.Write("输入错误");
}
}
catch
{
Console.Write("输入错误");
} Console.ReadLine();

用户输入一个字母,如D,那么就打印 ABCDCBA

//用户输入一个字母,如D,那么就打印 ABCDCBA
Console.Write("请输入一个字母");
char a = Convert.ToChar(Console.ReadLine());
char b = 'a';
bool c = true;//判断b++或是b--
//拼接要打印的内容
for (int i = 1; i <= 26; i++)
{
Console.Write(b);
if (b == a)
{
c= false;
}
if (c)
{
b++;
}
else
{
b--;
if (b == 'a' || b == 'A')
{
Console.Write(b);
break;
}
} } Console.ReadLine();

C#题型补充的更多相关文章

  1. 补充:MySQL经典45道题型

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher). 四个表的结构分别如表1-1的表(一)~表 ...

  2. YTU 2601: 熟悉题型——填空题(删除线性表节点)

    2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec  内存限制: 128 MB 提交: 357  解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...

  3. 牛客网刷题(纯java题型 1~30题)

    牛客网刷题(纯java题型 1~30题) 应该是先extend,然后implement class test extends A implements B { public static void m ...

  4. MVC Core 网站开发(Ninesky) 2.1、栏目的前台显示(补充)

    在2.1.栏目的前台显示中因右键没有添加视图把微软给鄙视了一下,后来有仔细研究了一下发现应该鄙视自己,其实这个功能是有的,是自己没搞清楚乱吐糟. 其实只要在NuGet中安装两个包(Microsoft. ...

  5. RabbitMq应用一的补充(RabbitMQ的应用场景)

    直接进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完 ...

  6. Android Retrofit 2.0 使用-补充篇

    推荐阅读,猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 5.Android MVP+Retrofit+RxJava实践小 ...

  7. Android中使用ViewFlipper实现屏幕页面切换(关于坐标轴的问题已补充更改)

    屏幕切换指的是在同一个Activity内屏幕间的切换,ViewFlipper继承了Framelayout类,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果.如 ...

  8. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  9. Hexo的coney主题的一些补充说明

    title: Hexo的coney主题的一些补充说明 date: 2014-12-14 14:10:44 categories: Hexo tags: [hexo,技巧] --- Coney是一个非常 ...

随机推荐

  1. 显示器VGA视频数据线的问题

    一朋友原来有一套PC电脑,后来买了一台新的显示器,新的显示器分辨率为1920X1080,主机接到新的显示器上,分辨率始终无法上到1920X1080,原主机的显示卡驱动已经是最新,还是不行,又重新安装操 ...

  2. 笔记本显示器坏了,从硬盘安装win7系统

    可以装的,从硬盘安装的话,步骤如下:一.将从网上下载的win7旗舰版ISO系统文件存放到D盘. 二.从网上下载虚拟光驱,打开安装后在任务栏右通知区显示“虚拟DAEMON管理器”图标,在我的电脑窗口显示 ...

  3. bzoj 2821 分块处理

    大题思路就是分块,将n个数分成sqrt(n)个块,然后 处理出一个w数组,w[i,j]代表第i个块到第j个块的答案 那么对于每组询问l,r如果l,r在同一个块中,直接暴力做就行了 如果不在同一个块中, ...

  4. boost之thread

    1.boost里的thread创建之后会立即启动. 代码示例: #include <iostream> #include <string> #include <vecto ...

  5. 【BZOJ】【1211】【HNOI2004】树的计数

    Prufer序列+组合数学 嗯哼~给定每个点的度数!求树的种数!那么很自然的就想到是用prufer序列啦~(不知道prufer序列的……自己再找找资料吧,这里就不放了,可以去做一下BZOJ1005明明 ...

  6. jdbc读取数据库表

    把结果集封装为List // 通过结果集元数据封装List结果集 public static List<Map<String, Object>> read(String sql ...

  7. Slim - 超轻量级PHP Restful API构建框架

    下载源码包: http://www.slimframework.com/ 基于Slim的Restful API Sample: <?php require '/darjuan/Slim/Slim ...

  8. Apache环境.htaccess伪静态301跳转(www与不带www)

    一般而言,我们使用的301跳转就是WWW与不带WWW域名之间的跳转,用行话说就是权重要归一.对于我们使用Apache环境的来说其实相对nginx比较简单,因为只需要我们在网站根目录有.htaccess ...

  9. 平面最小割—BZOJ 1001

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 很有意思的题目,本来想直接上网络流,但是发现点太多,边太多2333. 直接网络流无法 ...

  10. NodeJS介绍

    1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用.Node.j ...