用*输出菱形

用循环方式

#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;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值