《C语言及程序设计》实践参考——输出小星星(全解)

来源:互联网 发布:逆转裁判4知乎 编辑:程序博客网 时间:2024/06/07 18:03

返回:贺老师课程教学链接  项目要求


(1)
要输出的是:


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


(2)
要输出的是:


代码:


#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<=i; ++j) //输出i个星号              printf("*");          printf("\n");      }      return 0;     }  

(3)
要输出的是:


代码:
#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;  }  

(4)
要输出的是:


代码:
#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;     }  

(5)
要输出的是:


代码:这一个稍微麻烦一些在于,第1行和最后一行单独处理,而中间的n-2行则有规律:若干空格、1个星号、若干空格、1个星号
#include <stdio.h>         int main( )  {      int i,j,n=6;       //输出第一行:n-1个空格和1个星号并换行      for(j=1; j<=n-1; ++j) //输出n-i个空格          printf(" ");      printf("*\n");        //再输出中间的n-2行      for(i=2;i<=n-1;++i) //一共要输出n-2行      {          //输出第i行          for(j=1; j<=n-i; ++j) //输出n-i个空格              printf(" ");          printf("*");;  //再输出一个星号          for(j=1; j<=2*i-3; ++j) //然后输出2*i-3个空格              printf(" ");          printf("*\n"); //输出一个星号后本行结束,换行      }        //输出最后一行:2*n-1个星号      for(j=1; j<=2*n-1; ++j)           printf("*");     printf("\n");      return 0;     }  

(6)
要输出的是:


参考代码:
#include <stdio.h>         int main( )  {      int i,j,n=6;  //n代表上三角行数      //先输出上三角      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");      }      //下面输出下三角      for(i=1;i<=n-1;++i) //输出n-1行       {          //输出第i行          for(j=1; j<=i; ++j) //输出i个空格              printf(" ");          for(j=1; j<=2*(n-i)-1; ++j) //输出2*i-1个星号              printf("*");          printf("\n");      }      return 0;     }  




3 0
原创粉丝点击