用*输出菱形

来源:互联网 发布:微信拼车源码 编辑:程序博客网 时间:2024/06/03 08:00

用循环方式

#include<stdio.h>

int main()
{
int i=0,j=0,k=0,t=0;

for(i=0; i<=3; i++)
{
for(j=0; j<=20-i; j++)                                       //先输出'*'前的' '
{
printf(" ");
}
for(k=0; k<=2*i; k++)                                     // 输出'*'
{
printf("*");
}
printf("\n");
}
t=j;
for(i=0; i<=2; i++)
{
for(j=0; j<=t+i; j++)                                          //比上一行多两个' '
{
printf(" ");
}
for(k=0; k<=4-2*i; k++)                                //比上一行少两个'*',并且4=2*2
{
printf("*");
}
printf("\n");
}
system("pause");

return 0;

}
这个方式太过复杂不易理解,下面的数组方式比较好理解



#include<stdio.h>
#include<string.h>

int main()
{
char arr1[]={"*****************"};
char arr2[]={"                 "};
int i=0,j=0,s=strlen(arr1);
i=j=s/2;

while(i!=0)
{
arr2[i]=arr1[i];
arr2[j]=arr1[j];
i--;
j++;
puts(arr2);
}

while(i<=j)
{
i++;
j--;
arr2[i]=' ';
arr2[j]=' ';
puts(arr2);
}

system("pause");

return 0;
}



1 0
原创粉丝点击