c语言for循环打印菱形的方法

本文主要介绍"c语言for循环打印菱形的方法",希望能够解决您遇到有关问题,下面我们一起来看这篇 "c语言for循环打印菱形的方法" 文章。

c语言for循环打印菱形的方法:使用两个for循环,实现条件判断,代码为【int i,j;for(i=0; i<2*n-1; i++){if(i

c语言for循环打印菱形的方法:

方法一(以循环为主打印)

#include <stdio.h> 
void print(int n) 
{ 
  int i,j; 
  for(i=1; i<=n; i++) 
  { 
      for(j=1; j<=n-i; j++) 
      { 
          printf(" "); 
      } 
      for(j=n-i+1; j<n+i; j++) 
      { 
          printf("*"); 
      } 
      printf("\n"); 
  } 
   
  for(i=n-1; i>=1; i--) 
  { 
      for(j=1; j<=(n-i); j++) 
      { 
          printf(" "); 
      } 
      for(j=n-i+1; j<n+i; j++) 
      { 
          printf("*"); 
      } 
      printf("\n"); 
  } 
} 

void main() 
{ 
  int n; 
  printf("---------开始打印符号---------\n"); 
  printf("请输入数字:"); 
  scanf("%d",&n); 
  print(n); 
  printf("---------结束打印符号---------\n");     
}

方法二:(两个for,根据条件判断实现)

#include <stdio.h> 
//输出格式 
void print(char ch) { 
  putchar(ch); 
} 
//星号 
void printstar(int n) 
{ 
  int i,j;    //行,列 
  for(i=0; i<2*n-1; i++) 
  { 
      for(j=0; j<2*n-1; j++) 
      { 
          if(i<n) 
          { 
              if(j>=n-i-1&&j<n+i) 
              { 
                  print('*'); 
              } 
              else 
              { 
                  print(' '); 
              } 
          } 
          else 
          { 
              if(j>=i-n+1&&j<3*n-i-2) 
              { 
                  print('*'); 
              } 
              else  
              { 
                  print(' '); 
              } 
          } 

      } 
      print('\n'); 
  } 
} 

void main() 
{ 
  int n; 
  printf("---------开始打印符号---------\n"); 
  printf("请输入数字:"); 
  scanf("%d",&n); 
  printstar(n); 
  printf("---------结束打印符号---------\n");     
}

说明:(2n-1)—(n-i-1)= n+i

(2n-1)— (-(n-i-1))= 3n-i-2

结果:

c语言for循环打印菱形的方法

关于 "c语言for循环打印菱形的方法" 就介绍到这。希望大家多多支持编程宝库

C语言怎样合并两个有序链表:本文主要介绍"C语言如何合并两个有序链表",希望能够解决您遇到有关问题,下面我们一起来看这篇 "C语言如何合并两个有序链表" 文章。C语言合并两个有序链表的方法:拼接指定的两个有序链表的所有节点即可。例如两个有序 ...