怎么用c++输出下面菱形星号?

怎么用c++输出下面菱形星号?,第1张

因为不知道你是要者简输出三角形的星号(根据图形),还是要输出菱形的星号(根据文字),所以两个C++程序我都编写出来给你.

按照给出的图形编写的C++程序如下

#include <iostream>

using namespace std

int main()

{

 int i,j,N=4

 for(i=1i<=Ni++){

  for(j=1j<=N-ij++){

   cout << " "

  }

  for(j=1j<=i*2-1j++){

   cout << "*"

  }

  cout << endl

 }

 return 0

}

按照要求编写的输出菱形星号的C++程序如下

#include <iostream>

using namespace std

int main()

{

 int i,j,N=4

 for(i=1i<=Ni++){

  for(j=1j<首春裤=N-ij++){

   cout << " "

  }

  for(j=1j<=i*2-1j++){

   cout << "*"

  }

  cout << endl

 }

 for(i=N+1i<=2*N-1i++){

  森游for(j=1j<=i-Nj++){

   cout << " "

  }

  for(j=1j<=4*N-i*2-1j++){

   cout << "*"

  }

  cout << endl

 }

 return 0

}

首先fabs( )函数是一个取绝对值的函数,第一个for循环是决定每一行( printf("\n") ),第二个for循环决定每一列 *** 作。第一个for循环的i值每增加1,内嵌的for循环(第二个for循环)就执行了7次。举个例子:当i=1的时候,此时的fabs(4-1)=3,7-fabs(4-1)=4。j从1开始,if(((j<=3))或者(j>4)),就输出空格符,否则就输出*号。即当i=1时,j=4就输出*号。因为j=4的时候,不符合j<=3,或j>4的条件,所以就输出*号。其实这个程序改成:亏败斗

main( )

{

int i,j

printf("请输入a的值:")

scanf("%d",&a)

for(i=1i<=ai++)

{

for(j=1j<=aj++)

{

if((j<=fabs((a+1)/2-i))||(j>a-fabs((a+1)/2-i)))

printf(" ")

else

printf("*")

}

printf("\n")

}

}

这样就可以自己定义菱销磨形的边长了。谢谢采纳,如有枯桥不懂,可加Q:893290881


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12460681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存