如何用c++打印菱形

2024-11-15 18:37:48
推荐回答(5个)
回答1:

#include
#include
main()
{
int i,j,h;
printf("Please input num:");
scanf("%d",&h);
for(i=0;i {
for(j=0;j {
if(j==abs(h/2-i) || j==h-1-abs(h/2-i))
{
gotoxy(j+1,i+1);
printf("*");
}
}
}
}
以上是TC2.0调试通过,VC++6.0不支持gotoxy,加上如下函数
void gotoxy(int x,int y)
{
int xx=0x0b;
HANDLE hOutput;
COORD loc;
loc.X= x;
loc.Y=y;
hOutput= GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOutput, loc);
return;
}

回答2:

# include "iostream"
using namespace std;
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i {
j=n-i-1;
while(j--)putchar(' ');
for(j=0;j<2*i+1;j++)putchar('*');
puts("");
}
for(i=n-2;i>=0;i--)
{
j=n-i-1;
while(j--)putchar(' ');
for(j=0;j<2*i+1;j++)putchar('*');
puts("");
}

return 0;
}

回答3:

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

回答4:

#include
#include
using namespace std;
int main(){

for(int i=8;i>1;i--){
cout< cout<<"A";
cout< cout<<"A"< }
for(int j=1;j<=8;j++){
cout< cout<<"A";
cout< cout<<"A"< }

return 0;
}

有 点难看,哈哈,随意玩玩哈。

回答5:

#include
void mian()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
{
if(k==1||k==(2*i-1))
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
{
printf(" ");
}
for(k=1;k<=10-2*i;k++)
{
if(k==1||k==(9-2*i))
printf("*");
else
printf(" ");
}
printf("\n");
}}