//打印矩形
//声明变量,定义行数
int count;
//提示用户输入行数
printf("请您输入一个数字,代表矩形行数:");
//从键盘获取一个整型数字赋值给count
scanf("%d",&count);
for (int i=1; i<=count; i++)
{
for
(int j=1; j<=count; j++)
{
printf("*");
}
printf("\n");
}
运行结果:
请您输入一个数字,代表矩形行数:5
*****
*****
*****
*****
*****
------------------------------------------------------
//打印直角三角型
//声明变量,定义行数
int count;
//提示用户输入行数
printf("请您输入一个数字,代表三角形行数:");
//从键盘获取一个整型数字赋值给count
scanf("%d",&count);
for (int i=0; i
{
for (int j=0; j<=i; j++)
{
printf("*");
}
printf("\n");
}
运行结果:
请您输入一个数字,代表三角形行数:3
*
**
***
------------------------------------------------------
//打印倒直角三角型
//声明变量,定义行数
int line;
//提示用户输入行数
printf("请您输入一个数字,代表倒三角形行数:");
//从键盘获取一个整型数字赋值给line
scanf("%d",&line);
for (int i=0; i
{
for (int j=0;j
{
printf("*");
}
printf("\n");
}
运行结果:
请您输入一个数字,代表倒三角形行数:3
***
**
*
------------------------------------------------------
//打印等腰三角形
//声明一个变量,定义行数
int line;
//提示用户输入一个数字,代表三角形的行数
printf("请您输入一个数字,代表三角形的行数:");
//从键盘获取一个整型数字,将其赋值给line
scanf("%d",&line);
for (int i=1; i<=line; i++)
{ //循环line次,既有line行
for (int j=1; j<=line-i; j++)
{ //打印每行前的空格
printf("
");
}
for (int k=1; k<=2*i-1;
k++)
{ //打印每行的星
printf("*");
}
printf("\n");
}
运行结果:
请您输入一个数字,代表三角形的行数:4
*
***
*****
*******
------------------------------------------------------
//倒三角形
for (int i=1; i<=6; i++) { //循环6次,输出6行
for (int j=1; j<=i-1; j++) {
printf("
"); //每行前面打i-1个空格
}
for (int k=1; k<=2*(7-i)-1;
k++) { //每行输出2*(7-i)-1个星
printf("*");
}
printf("\n");
}
运行结果:
***********
*********
*******
*****
***
*
-------------------------------------------------------
//圣诞树
for (int i=1; i<=6; i++) { //循环六次打6行
for (int j=1; j<=6-i; j++) { //每一行前面打几个空格
printf("
");
}
for (int k=1; k<=2*i-1;
k++) { //每一行打多少个星
printf("*");
}
printf("\n");
}
for (int i=1; i<5; i++) { //打5行一个星的
for (int j=1; j<=5; j++) { //循环前五次都打空格,第六次跳出循环打星
printf("
");
}
printf("*\n");
}
运行结果:
*
***
*****
*******
*********
***********
*
*
*
-------------------------------------------------------
//菱形
for (int i=1; i<=11; i++) { //正三角
if(i<=6){
for (int j=1; j<=6-i; j++) {
printf("
");
}
for (int k=1; k<=2*i-1;
k++) {
printf("*");
}
printf("\n");
}
else{ //倒三角
for
(int j=1; j<=i-6; j++) {
printf(" ");
}
for
(int k=1; k<=2*(12-i)-1; k++) {
printf("*");
}
printf("\n");
}
}
运行结果:
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
-------------------------------------------------------
//六边形
int a; //a代表多少行
printf("你要输入几行的六边形:??");
scanf("%d",&a);
for (int i=1; i<=a; i++) { //循环a次,打印a行
if (i<=(a/2+1)) {
// 打印前(a/2+1)行
for
(int j=1; j<=(a/2+1)-i;
j++) { //打每行前面的空格数
printf(" ");
}
for
(int k=1; k<=a+2*i-2;
k++) { //打印每行的星
printf("*");
}
printf("\n");
}
else{ //打印后几行
for
(int j=1; j<=i-(a/2+1);
j++) {
printf(" "); //打印每行前面空格
}
for
(int k=1; k<=3*a-2*i; k++) {
printf("*");
}
printf("\n");
}
}
运行结果:
你要输入几行的六边形:??5
*****
*******
*********
*******
*****
-------------------------------------------------------
//打印挖空的 六边形
char answer; //声明一个变量,询问是否继续操作
do{
int line;
//声明一个变量,变量为六边形的行数
printf("\n您要输入几行的六边形:??(需要填写一个奇数):");
scanf("%d",&line);
for (int i=1; i<=line; i++) { //循环line次,总共有line行
if (i<=line/2+1) {
//六边形上半部分
for
(int j=1; j<=(line/2+1)-i;
j++) {
printf(" "); //打印前面的空格
}
if
(i==1) { //第一行特殊,中间没有空格
for (int k=1; k<=line+2*i-2;
k++) {
printf("*");
}
}
else{
printf("*"); //打印每行第一个星
for (int k=1; k<=line+2*i-4;
k++) {
printf("
"); //打印中间的空格数
}
printf("*"); //打印每行最后一个星
}
}
else{ //打印后面几行
for
(int j=1; j<=i-(line/2+1);
j++) {
printf(" "); //打印前面的空格数
}
if (i==line)
{ //最后一行特殊
for (int k=1; k<=3*line-2*i; k++) {
printf("*");
}
}
else{
printf("*");
for (int k=1; k<=3*line-2*i-2;
k++) {
printf("
");
}
printf("*");
}
}
printf("\n");
}
printf("您还想看其他行数的六边形吗?(Y/N)");
scanf("%c",&answer);
scanf("%c",&answer);
}
while(answer=='y'||answer=='Y');
运行结果:
您要输入几行的六边形:??(需要填写一个奇数):7
*******
* *
* *
* *
* *
* *
*******
您还想看其他行数的六边形吗?(Y/N)y
您要输入几行的六边形:??(需要填写一个奇数):