c语言实现空心、实心棱形打印的程序
本帖最后由 lucky_789 于 2015-1-16 20:54 编辑main()
{
int i,j,k,m,n;
printf( "\nEnter length of a side: ");
scanf("%d", &n);
printf("\n");
k = n*2-1; //实际矩阵边长
for (i = 0; i < k; i++)
{
m = (i < n) ? i : k-i-1; //距中线对称距离
for (j = 0; j < k; j++)
{
if (j == n-m-1 || j == n+m-1) /* 这句改为if (j >= n-m-1 && j <= n+m-1)即可打印实心棱形 */
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
正在学习C有点难 以前学C的时候。有做过这种题目。 大神就是大神这代码写的简洁、高效,刚学习C按照视频的思路写的,卡了两天了,实现单个菱形没问题,但是还没实现任意菱形的输出,大部分实现了,卡在最后一条边的实现上了,想偷点代码没想到看到这么简洁的代码,等调完了这个思路一定试试这种~ 漂摆 发表于 2015-2-8 13:53
大神就是大神这代码写的简洁、高效,刚学习C按照视频的思路写的,卡了两天了,实现单个菱形没问题,但是还 ...
我也是在跟着Nisy学习c语言。这一题的思路不要纠结于哪条边怎么画,而是按矩阵扫描落到关键点就打印*,否则打印空格。
页:
[1]