阳Sea  
1 ***算法:把菱形的中心看成坐标的原点(0,0),由此可以知道,如果|x| + |y| <= n;则打印输出"*"号,否则打印输出" "
 1 int mai(){
 2 
 3   int n;
 4 
 5   printf("请输入来那个菱形边长:");
 6 
 7   scanf("%d",&n);
 8 
 9   //打印实心菱形
10 
11   for (int x = -(n-1); x <= n-1; x++){   
12 
13     for (int y = -(n-1); y <= n-1; y++){
14 
15       if(abs(x) + abs(y) <= n-1){
16 
17         printf("*");
18 
19       }else{
20 
21         printf(" ");
22 
23          }
24 
25     }
26 
27     printf("\n");
28 
29   }
30 
31      //打印空心菱形
32 
33      for (int x = -(n-1); x <= (n-1); x++){
34 
35     for (int y = -(n-1); x <= (n-1); y++){
36 
37           if(abs(x) + abs(y) == (n-1)){
38 
39           printf("*");
40 
41       }else {
42 
43           printf(" ");      
44 
45         }
46 
47     }
48 
49       printf("\n");
50 
51   }
52 
53  
54 
55 return 0;
56 
57 }

 

 

 

 

posted on 2015-11-27 13:10  阳Sea  阅读(1545)  评论(0)    收藏  举报