printf和putchar的不同
下面的代码是一个空心圆的算法,前面的还好,是一个完整的圆。但是把for的循环体换成注释那一段之后,也就是将printf换成putchar输出之后,为什么只有半圆了呢???还有的就是本人画的圆不太圆,有更好的算法也提供以下修改哈~~~
#include <stdio.h>
#include <math.h>
void main()
{
double y,m;
int x;
for(y=10; y>=-10; y--)
{
m=2*sqrt(100-y*y);
for(x=0; x<30-m; x++)
printf(" ");
printf("*");
for( ; x<30+m; x++)
printf(" ");
printf("*\n");
}
}
/*
m=2*sqrt(100-y*y);
for(x=0; x<30-m; x++)
putchar(' ');
putchar('*');
for( ; x<30+m; x++)
putchar(' ');
putchar('*\n');
*/