C语言,编程实现:输出以下图形

如题所述

#include <stdio.h>
#include <math.h>

int main()
{
int i,j;
for(i=-2; i<=2; i++)
{
for( j=2; j>=-2; j--)
{
if(abs(i)+abs(j)<=2)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}

 把整个图形看成直角坐标系

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-09
#include "stdio.h"
void main(){
    int i,j;
    for(i=1;i<=3;i++){
     for(j=1;j<10-i;j++)
     printf("\40");
     for(j=1;j<=2*i-1;j++)
     printf("\52");
     printf("\n");}
    for(i=2;i>=1;i--){
     for(j=1;j<10-i;j++)
     printf("\40");
     for(j=1;j<=2*i-1;j++)
     printf("\52");
     printf("\n");}}

已经运行过。有什么问题请留言。

本回答被网友采纳
第2个回答  2015-04-10
  只需要输入一个奇数,即可得到你想要的对角线任意长度的形状!
  
  #include <stdio.h>
   
  int main(void)
  {
       int n, i, j;
   
       printf("Enter a number: ");
       scanf("%d", &n);
   
       for(i = 0; i < n; i++){
           for(j = 0; j < n-i-1; j++)
               printf(" ");
           for(j = 0; j < i+1; j++)
               printf("* ");
           printf("\n");
       }
   //printf("------------------------\n");
   
       for(i = 0; i < n-1; i++){
           for(j = 0; j < i+1; j++)
               printf(" ");
           for(j = 0; j < n-i-1; j++)
               printf("* ");
           printf("\n");
       }
   
       return 0;
   }

第3个回答  2015-04-09
#include<stdio.h>
int main(){
int i,j;
for(i=0;i<5;i++){
for(j=(i-2)<0?(2-i):(i-2);j>0;j--)printf(" ");
for(j=4-2*((i-2)<0?(2-i):(i-2));j>=0;j--)printf("*");
printf("\n");
}
return 0;
}
/*BY TXJ*/

第4个回答  2015-04-09
#include <stdio.h>
#include <math.h>

int main()
{
    int i = 0, j = 0, k = 0;
for(i = -2; i < 3; i++)
{
for(j = 0; j < abs(i); j++)
printf(" ");
for(k = 0; k < 5 - 2 * abs(i) ; k++)
printf("*");
printf("\n");
}
    return 0;
}