鱼C论坛

 找回密码
 立即注册
查看: 1060|回复: 1

[技术交流] for循环输出棱形

[复制链接]
发表于 2016-12-13 09:21:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 F3IYcZ7 于 2016-12-13 09:22 编辑

通过学习对比C++和java编程小题目理解到了几个道理。因为语言思路都是相通的,语法是其次,最主要还是编程的逻辑思维。

- 编程最后的目的是为了解决问题,而不是制造问题,要学会把大问题化成小问题。

- 一口吃不下所有的知识,任何人都做不到。

- 逻辑思维很重要,大部分的人知识量都是从大量的书籍中提炼出来的,其中少数的人会产生错觉,以为这是自己本来就会的。而不是通过别人的分享获取的。

- 招数是一样的,最终还是要学好数学与英语。数学训练逻辑,英语扩张视野。

比如说这个棱形图形在输出前的形式一定是在脑海里有构思的

第一个图形
```
1
    *
   *
  *
 *
*
```
第二个图形
```
2
    *****
   *****
  *****
 *****
*****
```



java代码
```
3
        //   *
        //  ***
        // *****
        //*******
        // *****
        //  ***
        //   *
//上半部分
//    行数    i 0 1 2 3
//    空格    k 3 2 1 0
//    星星    L 1 3 5 7
//    使行号等于星星的公式     步长的值+次数,星星每隔2就新增一行
//                                                                            2*i+1
//下半部分
//   行数   i  0 1 2 3
//   空格   j  0 1 2 3
//   星星   k 0 1 3  5  反向思维:大于0就输出4次,大于1就输出3次,大于3就输出1次,大于5就输出0次。

  //上半部分
  for (int i= 0; i<4;i++)
        {
            for(int k=3; k>i;k--)
            {
                System.out.print(" ");
            }

            for(int j=0;j< 2*i+1;j++)
            {

                System.out.print("*");
            }

            System.out.println("");
        }
   //下半部分
   for (int i= 0; i<4;i++)
        {
            for(int j=0; j<=i;j++)
            {
                System.out.print(" ");
            }
            for(int k=4; k>2*i-1;k--)    //k 4 3 2 1 0-1    i   0  1  3  5
            {
                System.out.print("*");
            }
            System.out.println("");
        }
```

C++代码
```
//上半部分
  for (int i= 0; i<4;i++)
        {
            for(int k=3; k>i;k--)
            {
               cout<<" ";
            }

            for(int j=0;j< 2*i+1;j++)
            {

                cout<<"*";
            }

            cout<<endl;
        }
   //下半部分
   for (int i= 0; i<4;i++)
        {
            for(int j=0; j<=i;j++)
            {
               cout<<" ";
            }
            for(int k=4; k>2*i-1;k--)    //k 4 3 2 1 0-1    i   0  1  3  5
            {
                cout<<"*";
            }
            cout<<endl;
        }
```

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +2 收起 理由
寥若晨星 + 5 + 5 + 2 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-13 09:27:26 | 显示全部楼层
居然拿这种东西来!!!剽窃!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 17:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表