第二周《C语言及程序设计》实践项目32 循环思想启蒙:输出小星星

来源:互联网 发布:mysql having 用法 编辑:程序博客网 时间:2024/05/29 14:00
/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:<a target=_blank href="http://blog.csdn.net/sxhelijian/article/details/44158317" style="text-decoration: none; color: rgb(0, 0, 0); font-family: 'microsoft yahei'; font-size: 18px; font-weight: bold;">输出小星星</a>.cpp   * 作    者:张易安   * 完成日期:2016年 8 月 16 日   * 版 本 号:v1.0   *   * 问题描述:编写程序,输出如下的星号图 */ #include<stdio.h>int main(){int i,j;for(i=1;i<11;++i){for(j=11;j>=2*i-1;--j)//等同于j=1;j<=2*i-1;++j {printf("*");}printf("\n");}return 0; } 

/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:<a target=_blank href="http://blog.csdn.net/sxhelijian/article/details/44158317" style="text-decoration: none; color: rgb(0, 0, 0); font-family: 'microsoft yahei'; font-size: 18px; font-weight: bold;">输出小星星</a>.cpp   * 作    者:张易安   * 完成日期:2016年 8 月 16 日   * 版 本 号:v1.0   *   * 问题描述:编写程序,输出如下的星号图 */ #include<stdio.h>int main(){int i,j,n=6;for(i=1;i<=n;++i){for(j=1;j<=n-i;++j)//输出6-i个空格   printf(" ");for(j=1;j<=i;++j)//输出i个星号   printf("*");printf("\n");}}


/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目1:利用循环求和】.cpp   * 作    者:张易安   * 完成日期:2016年 8 月 16 日   * 版 本 号:v1.0   *   * 问题描述:编写程序,输出如下的星号图 */ #include<stdio.h>int main(){int i,j,n=9;for(i=1;i<=n;++i)//一共要输出n行 {for(j=1;j<=i;++j)//输出 i个空格printf(" ");for(j=9;j>=2*i-1;--j)//输出2*i-1个星号printf("*"); printf("\n");}return 0;}


#include <stdio.h>    int main( )    {        int i,j,n=6;         for(i=n;i>=1;--i) //i由大变小        {            //输出第i行            for(j=1; j<=n-i; ++j) //关键:输出的是n-i个空格                printf(" ");            for(j=1; j<=2*i-1; ++j) //关键:输出的是2*i-1个星号                printf("*");            printf("\n");        }        return 0;    }  


心得体会

这第一个是我的代码,第二个是老师的,虽然代码大不相同,但是结果一样。其实就是第一行的for循环不同,老师的第一个循环的意义相当于把图形倒了一个圈,而我的是正向输入中间的第二个for循环改变了些。


/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目1:利用循环求和】.cpp   * 作    者:张易安   * 完成日期:2016年 8 月 16 日   * 版 本 号:v1.0   *   * 问题描述:编写程序,输出如下的星号图 */ #include<stdio.h>int main(){int i,j,n=7;for(i=n;i>=1;--i)//一共要输出n行 {for(j=1;j<=i;++j)//输出 i个空格printf(" ");for(j=2*n-1;j>=2*i-1;--j)printf("*");printf("\n");}return 0;}

#include <stdio.h>           int main( )    {        int i,j,n=6;         for(i=1;i<=n;++i) //一共要输出n行        {            //输出第i行            for(j=1; j<=n-i; ++j) //输出n-i个空格                printf(" ");            for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号                printf("*");            printf("\n");        }        return 0;       } 



。。。坑爹,我这自己写的自己都有点看不懂了,为什么又都一样呀?

/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目1:利用循环求和】.cpp   * 作    者:张易安   * 完成日期:2016年 8 月 16 日   * 版 本 号:v1.0   *   * 问题描述:编写程序,输出如下的星号图 */ #include<stdio.h>int main(){int i,j,n=6;for(i=1;i<=n;++i){for(j=1;j<=n-i;++j)  printf(" ");for(j=1;j<=2*i-1;++j)  printf("*");printf("\n");}for(i=1;i<=n-1;++i){   for(j=1; j<=i; ++j)            printf(" ");            for(j=1; j<=2*(n-i)-1; ++j)            printf("*");            printf("\n"); }return 0;}


中间一个就算了,完全看不懂,看懂了也不想贴出来了,没意思。

0 0
原创粉丝点击