我有以下代码应该输出正弦曲线的字符图像:
#include <stdio.h>
#include <math.h>
/**show the image of sine curve*/
main()
{
double y;
int m, x;
for (y = 1; y >= 0; y -= 0.1) {
m = asin(y) * 10;
for (x = 1; x < m; x++)
printf(" ");
printf("*");
for (; x < 31 - m; x++)
printf(" ");
printf("*\n");
}
for (y = 0; y <= 1; y += 0.1) {
m = 31 + asin(y) * 10;
for (x = 1; x < m; x++)
printf(" ");
printf("*");
for (; x < 93 - m; x++)
printf(" ");
printf("*\n");
}
}
这是它生成的输出:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
如您所见,我的代码结果不是连续的。我想知道我的代码在哪里不正确。另一方面,如果有人能给我一个更好的解决方案,我将不胜感激。