如何用c编写打印一个菱形的程序?

时间:2021-07-11 09:17:02
我是初学者,想用c编一个打印菱形的程序:
    *
   ***
  *****
 *******
  *****
   ***
    *
要求:一个printf打印一个“*”和一个“ ”;
要尽量多的使用for语句;
尽量少用printf语句;

7 个解决方案

#1


不知道怎么回是,上面的图有问题,注意是菱形。

#2


这个很简单,想一想菱形的特点是对称的,那么数中就正负数之分,用一个求绝对值函数就可以了

#3


#include"***"----->忘了库函数名称
main(){
   int i,j,k;
   for(i=-3;abs(i)<=3;i++){--->控制排数
      for(j=0;j<3-abs(i);j++)  
        printf(" ");
      for(k=1;k<abs(i)*2+1;k++)
        printf("*");
    }
}
我也是新手,不知道对不对,你试试

#4


对上面的程序的一点补充:(tc 2.0)
#include "stdio.h"
#include "math.h"

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

#5


源程序如下,编译通过。
#include <iostream.h>
void main()
{
    int n;
cout<<"请输入n的值:";
    cin>>n;
for(int i=0;i<n;i++)
{    for(int k=n-i;k>0;k--)
    cout<<"  ";
     for(int j=0;j<=i;j++)
         cout<<"*"<<"   ";
   
cout<<endl;
}
for( i=1;i<n;i++)
{  
  for(int k=0;k<=i;k++)
            cout<<"  ";   
for(int j=n-i;j>0;j--)
         cout<<"*"<<"   ";
     
cout<<endl;
}
}

#6


#include <stdio.h>

void main()
{
  int height=0;
  int i,j;
  while (!(height%2)) {  /*输入的高度只能是奇数*/
    printf("Enter the height: ");
    scanf("%d",&height);
  }
  for (i=0;i<height;i++) {
    for (j=0;j<(height+1)/2-i;j++)
      printf(" ");
    for (j=0;j<i*2+1;j++)
      pritnf("*");
    printf("\n");
  }
}

#7


这个我的:
#include<stdio.h>
main(){
int a,b,c,d,e,f;

for(a=1;a<=5;a++){
for(b=5;b>a;b--)
printf(" ");
for(c=3;c<=a*2+1;c++)
printf("*");printf("\n");}
for(d=1;d<=4;d++){
for(e=1;e<=d;e++)
printf(" ");
for(f=1;f<=9-2*d;f++)
printf("*");
printf("\n");}
return 0;}

#1


不知道怎么回是,上面的图有问题,注意是菱形。

#2


这个很简单,想一想菱形的特点是对称的,那么数中就正负数之分,用一个求绝对值函数就可以了

#3


#include"***"----->忘了库函数名称
main(){
   int i,j,k;
   for(i=-3;abs(i)<=3;i++){--->控制排数
      for(j=0;j<3-abs(i);j++)  
        printf(" ");
      for(k=1;k<abs(i)*2+1;k++)
        printf("*");
    }
}
我也是新手,不知道对不对,你试试

#4


对上面的程序的一点补充:(tc 2.0)
#include "stdio.h"
#include "math.h"

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

#5


源程序如下,编译通过。
#include <iostream.h>
void main()
{
    int n;
cout<<"请输入n的值:";
    cin>>n;
for(int i=0;i<n;i++)
{    for(int k=n-i;k>0;k--)
    cout<<"  ";
     for(int j=0;j<=i;j++)
         cout<<"*"<<"   ";
   
cout<<endl;
}
for( i=1;i<n;i++)
{  
  for(int k=0;k<=i;k++)
            cout<<"  ";   
for(int j=n-i;j>0;j--)
         cout<<"*"<<"   ";
     
cout<<endl;
}
}

#6


#include <stdio.h>

void main()
{
  int height=0;
  int i,j;
  while (!(height%2)) {  /*输入的高度只能是奇数*/
    printf("Enter the height: ");
    scanf("%d",&height);
  }
  for (i=0;i<height;i++) {
    for (j=0;j<(height+1)/2-i;j++)
      printf(" ");
    for (j=0;j<i*2+1;j++)
      pritnf("*");
    printf("\n");
  }
}

#7


这个我的:
#include<stdio.h>
main(){
int a,b,c,d,e,f;

for(a=1;a<=5;a++){
for(b=5;b>a;b--)
printf(" ");
for(c=3;c<=a*2+1;c++)
printf("*");printf("\n");}
for(d=1;d<=4;d++){
for(e=1;e<=d;e++)
printf(" ");
for(f=1;f<=9-2*d;f++)
printf("*");
printf("\n");}
return 0;}