用c语言 for循环打印菱形 看图

如题所述

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++)
{
for(j=0;j<abs(i);j++)
 printf(" ");
for(j=0;j<2*(n-abs(i))-1;j++)
printf("*");
printf("\n");
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-23

看规律:

-2    1    = 5-【(-1)*(-2)*2】

-1    3    = 5-【(-1)*(-1)*2】

0      5    = 5-【(0)*2】

1      3    = 5-【(1)*2 】

2      1    = 5-【(2)*2 】

所以,内层循环为:

for( i=-2 ; i<=2;i++ )
{
    for( j=0;j<5-2*abs(i);j++ ) //abs函数是得到一个数的绝对值
           printf("*");
    printf("\n");
}

本回答被提问者和网友采纳
相似回答