A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用户可以输入需要的行数.
供大家参考

1 个回复

倒序浏览
  1. // 打印星星三角形
  2. // 尾尾 2015 09 24

  3. /*
  4.   *******
  5.   1234567
  6. 1    *
  7. 2   ***
  8. 3  *****
  9. 4 *******

  10. 当x+y=5时开始打印星星
  11. 当x-y=3时不再打印星星

  12. 多画几个星星三角形可以发现:
  13. 列与行的和>=行数+1,并且 列与行的差<=行数-1时,打印星星
  14. 其他时候打印空格即可
  15. */


  16. #include<stdio.h>

  17. void zheng(){//打印正三角形星星
  18.     int n;//行数
  19.     int m;//列数
  20.     printf("请输入需要的行数:\n");
  21.     scanf("%d",&n);
  22.     m=(n+(n-1));
  23.     for(int x=1;x<n+1;x++){//外部循环每循环一次是一行
  24.         
  25.         for(int y=1;y<m+1;y++){//内部循环每循环一次是一列
  26.             int sum=x+y;//列与行的和
  27.             int cha=y-x;//列与行的差
  28.             if((sum>=(n+1))&&(cha<=(n-1))){//判断是否要打印星星
  29.                 printf("*");
  30.             }else{
  31.                 printf(" ");
  32.             }
  33.         }
  34.         printf("\n");
  35.     }
  36.    
  37. }

  38. void dao(){//打印倒三角形星星
  39.     int n;//行数
  40.     int m;//列数
  41.     printf("请输入需要的行数:\n");
  42.     scanf("%d",&n);
  43.     m=(n+(n-1));
  44.     for(int x=1;x<n+1;x++){//外部循环每循环一次是一行
  45.         
  46.         for(int y=1;y<m+1;y++){//内部循环每循环一次是一列
  47.             int sum=x+y;//列与行的和
  48.             int cha=y-x;//列与行的差
  49.             if((sum<=(2*n))&&(cha>=0)){//判断是否要打印星星
  50.                 printf("*");
  51.             }else{
  52.                 printf(" ");
  53.             }
  54.         }
  55.         printf("\n");
  56.     }
  57. }

  58. int main(){
  59.     int choice;//用户选择
  60.     while(1){
  61.     printf("--------------------\n请选择要使用的功能:\n1:打印正三角形星星\n2:打印倒三角形星星\n3:退出\n--------------------\n");
  62.     scanf("%d",&choice);
  63.     switch(choice){
  64.         case 1:
  65.             zheng();
  66.             break;
  67.         case 2:
  68.             dao();
  69.             break;
  70.         case 3:
  71.             printf("感谢您的使用,再见!----O(∩_∩)O尾尾\n");
  72.             return 0;
  73.         default:
  74.             printf("您输入的是%d输入有误,请重新输入!\n",choice);
  75.             continue;
  76.     }
  77.     }
  78.         return 0;
  79. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马