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

时间:2021-01-20 19:20:55
/*  
* 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;
}

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

/*  
* 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");
}
}

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

/*  
* 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;
}

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

心得体会

这第一个是我的代码,第二个是老师的,虽然代码大不相同,但是结果一样。其实就是第一行的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;
}

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


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

/*  
* 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;
}

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

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