c++直角空心三角形_c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形...
#include#include
//功能選擇界面
voidmenu();//使用聲明
voidStatement();//打印實心菱形
intSolid_diamond();//打印空心三角形
intHollow_triangle();//打印十字形
intCross();//打印空心正方形
intHollow_square();//打印實心平行四邊形
intSolid_parallelogram();//主函數
main(void)
{intn;
printf("\t\t\t歡迎體驗1.0版本圖形打印機\n\n\n");while(1)
{
menu();
printf("Please select a funcyion:");
scanf("%d",&n);switch(n)
{case 1:Statement();break;case 2:Solid_diamond();break;case 3:Hollow_triangle();break;case 4:Cross();break;case 5:Hollow_square();break;case 6:Solid_parallelogram();break;case 0:exit(0);break;
}if(n<0||n>6)
printf("\t\t\t---Input Error!---\n\n\n");
}
}//聲明界面
voidStatement()
{
printf("\n\n\n");
printf("1---Because the interface is too small,so,please enter a number less than 20\n");
printf("(因為界面太小,所以請輸入小于20的數以便觀察)\n");
printf("2---The current version only supports the English language\n");
printf("(因為目前水平有限,所以只支持英文模式)\n");
printf("3---If you find problem,please contact me in time,tkank you\n");
printf("(如果你在使用過程中發現問題,請及時聯系我,謝謝)\n\n\n");
}//菜單界面
voidmenu()
{
printf("\n\n\n");
printf("\t\t\t1---Statement(使用聲明)\n");
printf("\t\t\t2---Solid diamond(實心菱形)\n");
printf("\t\t\t3---Hollow triangle(空心三角形)\n");
printf("\t\t\t4---Cross(十字形)\n");
printf("\t\t\t5---Hollow_square(空心正方形)\n");
printf("\t\t\t6---Solid_parallelogram(實心平行四邊形)\n");
printf("\t\t\t0---Exit the program(退出程序)\n\n\n");
printf("Important:《Only support English》\n\n\n");
}//實心菱形
intSolid_diamond()
{inti,j,n;charm;
printf("Please enter the order number(請輸入階數):");
scanf("%d",&n);
fflush(stdin);//清空緩存區
printf("Please enter the character(請輸入字符):");
scanf("%c",&m);if(n<=0)
printf("\t\t\tInput Error!\n");for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");for(j=1;j<=2*i-1;j++)
printf("%c",m);
printf("\n");
}/*首先打n-1個空格后面接星號,隨后空格逐漸減少,星號以2*1形式增加,
只打印了左邊部分的空格 ,右邊空格未打印。
打印出最大階數*/
for(i=1;i<=n-1;i++)
{for(j=1;j<=i;j++)
printf(" ");for(j=1;j<2*(n-i);j++)
printf("%c",m);
printf("\n");
}//仿照上式,逆序打印,只是要注意要比上式少一階
}//空心三角形
intHollow_triangle()
{inti,j,n;charm;
printf("Please enter the order number(請輸入階數):");
scanf("%d",&n);
fflush(stdin);//清空緩存區
printf("Please enter the character(請輸入字符):");
scanf("%c",&m);if(n<=0)
printf("\t\t\tInput Error!\n");for(i=1;i
{for(j=1;j<2*n;j++)
{if(j==n-i+1||j==i+n-1||i==n&&j%2==1)
printf("%c",m);//j=n-i+1打印左邊符號;j=n+i-1打印右邊符號;i=n&&j%2==1打印最后一層星號
elseprintf(" "); //除星號外其余全為空格
}
printf("\n");
}
}//十字形
intCross()
{inti,j,n;charm;
printf("Please enter the order odd number(請輸入奇數階數):");
scanf("%d",&n);
fflush(stdin);//清空緩存區
printf("Please enter the character(請輸入字符):");
scanf("%c",&m);if(n<=0)
printf("\t\t\tInput Error!\n");for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
{if(j==n||i==(n+1)/2)/*按正常情況這是錯的,應該是(j==(n+1)/2||i==(n+1)/2),但是由于界面
的問題 ,為了美觀,我選擇擴大橫排的間距,把豎排的字符打印得更靠后*/printf("%c",m);elseprintf(" ");
}
printf("\n");
}
}//空心正方形
intHollow_square()
{inti,j,n;charm;
printf("Please enter the order number(請輸入階數):");
scanf("%d",&n);
fflush(stdin);//清空緩存區
printf("Please enter the character(請輸入字符):");
scanf("%c",&m);if(n<=0)
printf("\t\t\tInput Error!\n");for(i=1;i<=n;i++)
{for(j=1;j<=n-1;j++)if(i==1||j==1||i==n)
printf("%c",m);elseprintf(" ");
printf("%c\n",m);
}
}//實心平行四邊形
intSolid_parallelogram()
{inti,j,k,n;charm;
printf("Please enter the order number(請輸入階數):");
scanf("%d",&n);
fflush(stdin);//清空緩存區
printf("Please enter the character(請輸入字符):");
scanf("%c",&m);if(n<=0)
printf("\t\t\tInput Error!\n");for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");for(k=1;k<=n;k++)
printf("%c",m);
printf("\n");
}
}
總結
以上是生活随笔為你收集整理的c++直角空心三角形_c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux基础命令的那些事儿(1)
- 下一篇: 人工智能教学竞赛科研平台解决方案