因为不知道你是要者简输出三角形的星号(根据图形),还是要输出菱形的星号(根据文字),所以两个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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)