第二练习怎么做
1190查看
第二练习怎么做的,做出来 这个 * * *** *** * *** *样子
#课程问答
| 关注

百度一下,以下是答案
#include<stdio.h>
void main()
{
int i,j,n=7; //声明i为要打印的行数,j是控制输出打印空格和星星,n是菱形为菱形的高
for(i=1;i<=n/2+1;i++) //先打印上半部分,如果奇数输入的是5,那么上面就会显示3行,以此类推
{
for(j=1;j<=n-i;j++) //打印空格
{
printf(" ");
}
for(j=1;j<=2*i-1;j++)//打印星星
{
printf("*");
}
printf("\n");
}
for(i=n/2;i>=1;i--) //n已经明确了,打印下半部分,如果n为5,那么下半部分显示两行,以此类推
{
for(j=1;j<=n-i;j++) //打印空格
{
printf(" ");
}
for(j=1;j<=2*i-1;j++)//打印星星
{
printf("*");
}
printf("\n");
}
}
copy

回复

答案不止一种,最好能自己做一份出来,比如观察数字的递增或递减
空格个数 星星个数 4 1 3 3 2 5 1 7 2 5 3 3 4 1
copy
#include<stdio.h>
void main()
{
int n=7; //n为菱形的高,
int i,j,k; //i为当前需要打印的星星个数,j为当前需要打印的空格个数,k是计数器
j=n/2+1;
for(i=1;i<=n;i+=2) //先打印上半部分
{
for(k=1;k<=j;k++) //打印空格
{
printf(" ");
}
for(k=1;k<=i;k++)//打印星星
{
printf("*");
}
printf("\n");
j--;
}
j=2;
for(i=n-2;i>=1;i-=2) //打印下半部分
{
for(k=1;k<=j;k++) //打印空格
{
printf(" ");
}
for(k=1;k<=i;k++)//打印星星
{
printf("*");
}
printf("\n");
j++;
}
}
copy

回复
你的回复
请
登录
后回复