在C语言中如何用循环的方式输出下面这个图形?

Python019

在C语言中如何用循环的方式输出下面这个图形?,第1张

#include <stdio.h>

#define N (3)

int main()

{

    int i

    for(i=-N/2i<=N/2++i)

        printf("%*.*s\n",i>0?N+i:N-i,N,"***************************")

    return 0

}

题一:

main()

{

int i,j,k,e,n,m

scanf("%d",&n)

printf("\n")

for(m=(n/2)+1m>=0m--)

{for(i=0i<=mi++)

printf(" ")

for(j=(m*2)-1j<n+1j++)printf("*")printf("\n")}

for(m=(n/2)+1m>=0m--)

{for(i=mi<=(n/2)+2i++)

printf(" ")

for(j=0j<(m*2)-1j++)printf("*")printf("\n")}

}

题二:

main()

{

int i,j,k,e,n,m=0

scanf("%d",&n)

printf("\n")

for(i=0i<ni++)

{

m++

for(j=1j<=i+1j++)printf("%d",m)

for(k=ik>0k--)printf("%d",m)

printf(" ")

for(j=1j<=i+1j++)printf("%d",m)

for(k=ik>0k--)printf("%d",m)

printf("\n")

}

for(i=1i<ni++)

{

m++e+=2

for(k=ik<nk++)printf("%d",m)

for(j=n-1j>ij--)printf("%d",m)

printf(" ")

for(k=ik<nk++)printf("%d",m-e)

for(j=n-1j>ij--)printf("%d",m-e)

printf("\n")

}

题三:main()

{

int i,j,k,e,n,m

scanf("%d",&n)

printf("\n")

for(i=0i<ni++)

{

for(j=1j<=i+1j++)printf("%d",j)

for(k=ik>0k--)printf("%d",k)

printf("\n")

}

}

兄弟啊 为了达到你的要求我是搞了两个多小时。

题一你能输入N个数 能正常显示

题二只能输入1——5 ,超过就10多了一位数,整个都要移动

题三也不能超10不然会多移动一位

以上三题都经过TC反复测试正常,如果还有不懂的地方随时可以HI我