我有以下代码应输出的正弦曲线的字符图像:打印字符基于正弦曲线是不连续的
#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");
}
}
这是它产生的输出:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
正如你所看到的,我的代码的结果是不连续的。我想知道我的代码不正确。另一方面,如果有人能给我一个更好的解决方案,我将不胜感激。
@Bart:OP想绘制一条正弦曲线,它应该是连续的。该代码在下半部分绘制了一条正弦曲线,并有一个位移。 –
@ Vogel612:在使用它们之前分配对象。 –
@Bart:问题确实如此。代码中的注释说:“显示正弦曲线的图像”,问题中的文本显示“我的代码的结果不连续”。完全清楚期望的结果是什么以及得到的结果不正确。 –