打印菱形的设计思路
本帖最后由 sdnyzjzx 于 2010-11-14 22:01 编辑跟着Nisy学习C语言,视频已经到了第五课了,通过一下午努力,终于完成了作业中要求的设计菱形的题目,非常高兴,贴出来请朋友们指点:
附上自己建的菱形输出 * 位置模型图
打印菱形的思路分析:
定义 n--边长i--第几行j--第几列
按行打印输出
外层实现 i (行) 循环
当 i<=(n+1)/2 时,
如果 j=(n+1)/2-(i-1) 或者 j=(n+1)/2+(i-1)
输出 *
否则 输出空格
里层实现 j (列)循环
当列循环一周时,输出 "\n"换行
当i>(n+1)/2 时(用else 实现)
如果 j=(n+1)/2-(n-i) 或者 j=(n+1)/2+(n-i)
输出 *
否则 输出空格
里层实现 j (列)循环
当列循环一周时,输出 "\n"换行
程序如下:
main()
{
int n;
int i;
int j;
printf("Please input the number of length:");
scanf("%d",&n);
printf("\n");
for (i=1;i <= n;i++)
{
printf(" ");
if(i <= (n+1)/2)
{
for (j=1;j <= n;j++)
{
if((j == (n+1)/2 - (i-1))||(j == (n+1)/2+(i-1)))
{
printf("*");
}
else
{
printf(" ");
}
}
/* printf("i=%d j= %d",i,j); */
printf("\n");
}
else
{
for (j=1;j <= n;j++)
{
if((j == (n+1)/2 - (n-i))||(j == (n+1)/2+(n-i)))
{
printf("*");
}
else
{
printf(" ");
}
}
/*printf("i=%d j= %d",i,j); */
printf("\n");
}
}
printf("\n");
printf(" Thank you everyone ! \n");
printf("Writen by sdnyzjzx 2010.11.10.");
}
今天视频学习到06课,制作了一个 带表格的乘法口诀表 ,请指点
程序: /:good 厉害! 多谢分享。菱形和杨辉三角永远是C语言的最爱 按你的思路我也写一个:loveliness: 不错~ 照这个图来看……这是个正方形……当然也是菱形……/:L 嗯,不错。边学习边总结,呵呵。 呵呵 学习了 多谢分享。菱形和杨辉三角永远是C语言的最爱 惭愧,我最近才学的,我算了两天,也就算出上面的,下面输出不会算,看来是没认真看,我还需要努力。
页:
[1]
2