|
>誰か助けてください!!!学校の宿題でSIN関数のグラフを
>描くプログラムを作れって言われて、考えてもわかりせん。
>だれか、教えてください!!
>おねがいします!!!
まず掲示板ご利用上の注意をよくお読み下さい。その上でこれから投稿
して下さるようお願いします。
環境も何も書いてないので、こちらで勝手に環境はWindowsとさせていた
だきます。Unix系の場合は2バイト文字コードが違う可能性がありますの
でその辺はご自分で何とかして下さい。
表示が36行ほど行きますので、画面からあふれてしまう場合はファイルに
結果をリダイレクトするか、i += 10の当たりをいじって下さい。その時
うまく調節しないと"π"や"2π"が表示されません。
#include <stdio.h>
#include <math.h>
#include <string.h>
#define PI 3.14159265358979323846
#define N 128
#define SCALE 35
int main(void)
{
int i;
char buf[N];
printf("-1%*s0%*s1\n", SCALE - 2, " ", SCALE - 1, " ");
for (i = 0; i <= 360; i += 10) {
memset(buf, (i == 0) ? '-' : ' ', SCALE * 2 + 1);
buf[SCALE] = 'I';
buf[sin(i / 360. * 2 * PI) * SCALE + SCALE] = '*';
buf[SCALE * 2 + 1] = '\0';
if (i == 180) {
buf[0] = 0x83; buf[1] = 0xce; /* π */
} else if (i == 360) {
buf[0] = '2'; buf[1] = 0x83; buf[2] = 0xce; /* 2π */
}
puts(buf);
}
return 0;
}
|