我有以下代碼應輸出的正弦曲線的字符圖像:打印字符基於正弦曲線是不連續的
#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:問題確實如此。代碼中的註釋說:「顯示正弦曲線的圖像」,問題中的文本顯示「我的代碼的結果不連續」。完全清楚期望的結果是什麼以及得到的結果不正確。 –