题解 |通过循环实现任意层大V

我是大V

http://www.nowcoder.com/practice/5c329570ba034871a96299df21e80e51

#include "stdio.h"
int main()
{
    int i,j,n,k;
    scanf("%d",&n);
    for(i=0;i<n;i++)//一共循环n次,每次一行
    {
      //1到n行第一个v之前分别要写0-n-1个空格
        for(j=i;j>0;j--)//j和i同步,i越大j每次输出的空格越多
        {
            printf(" ");
        }
       //空格后输出第一个v
        printf("v");
      //v后写空格,原理和上个相同
        for(k=i;k<2*(n-(i+1))-1+i;k++)
        {
            printf(" ");
        }
      //每次循环最后写一个v,除了最后一次
        if(i<n-1)
        printf("v\n");
    }
  
    return 0;
}

标题

全部评论
之前没那么认真学习,大三了想改变一下自己,先从最基础的开始,虽然这到题可以用很简单的printf输出,不过我想如果多层的怎么办,所以花了很长的时间去想循环,怪我基础不好,理思路理了半天,终于把逻辑搞正确了,每次成功写好一个代码都好开心,我想在这儿分享一下自己的成果,希望对你们有所帮助,大家一起加油!!!
11 回复 分享
发布于 2021-09-26 22:51
好像输入n大于等于5之后,输出的格式就出现问题了
3 回复 分享
发布于 2021-10-16 23:19

相关推荐

10-25 02:13
门头沟学院 C++
牛客7351937293号:8.27笔试10.22评估
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
24 4 评论
分享
牛客网
牛客企业服务