我是靠谱客的博主 精明火龙果,最近开发中收集的这篇文章主要介绍我的第一个算法学习,菱形图案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 题目:输入一个奇数n,输出对角线长为n的实心或者空心的菱形图案

 

如当n=5时,有:
  *
 ***
*****
 ***
  *

 

=========

void myprint(int number,char mychar)

作为输出函数,第一个参数是需要输出的字符的个数,第二个参数是需要输出的字符

int n为输入的个数. int tn=1,i=1作为临时变量.

 

整个程序分为两个部分,第一个部分输出菱形的上部分:

 

  *
 ***
*****

 

第一行输出2个空格,1个*;

第二行输出1个空格,3个*;

第三行输出0个空格,5个*;

...

发现,第一行的空格数=(n-1)/2

接下来,随着行数的增加,每加一行输出的空格就少一个,直到一个也不输出.

而第一行输出的*为1个,接下来,随着行数的增加,每加一行输出的*就多两个,直到输出的*的个数=n

 

 

当一行输出n个*的时候(此时将输出0个空格),第一个循环终结(故循环判断式为i≤n则继续输出,即!(i>n) ),进入下半部分.

 

下半部分输出为:

 ***
  *

 

第一行输出1个空格,3个*;

第二行输出2个空格,1个*;

...

发现,第一行输出1个空格,接下来,随着行数的增加,每加一行输出的空格就多一个,直到输出的空格数=(n-1)/2

而第一行输出的*的个数为n-2个,接下来,随着行数的增加,每加一行输出的*就少两个,直到输出的*的个数=1(因为n是一个奇数,所以倒数第二次循环时输出的*数=3,最后一次输出的*数=1(正数),此时再-2则=-1(负数),所以用i>0来作为循环条件 ),接着第二个循环终结.

 

 

 

最后

以上就是精明火龙果为你收集整理的我的第一个算法学习,菱形图案的全部内容,希望文章能够帮你解决我的第一个算法学习,菱形图案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部