質問: c言語で、0°から360°までcosθを1°ずつ計算してエクセルに表示するにはどうすればいいですか?
回答: 1. C言語でExcelアプリを操作するのは難しいようです。 PythonやC#はできるようですが。私はやったことがありません。 ExcelにはVBAがあるので直接データをセルに書き込む方法もあります。 2. C言語でCSVデータファイルを作成してExcelに取り込む方法はどうでしょうか。 以下はそのプログラムです。 //---ここから #define _CRT_SECURE_NO_WARNINGS // Visual Studio only #include #include int main(void) { const char *file_name = "dat.csv"; double pi = acos(-1); // 円周率。ラジアンの変換に必要。 FILE *file = fopen(file_name, "w"); if (file == NULL) { printf("%s ファイルが作成できません\n", file_name); return 0; } for (int i = 0; i <= 360; i++) { // i(度)をラジアンに変換します。 // piがdoubleなので(double)キャストは不要です。 double i_rad = i * pi / 180; fprintf(file, "%d,%f\n", i, cos(i_rad)); // csvとして出力します。 } fclose(file); } //---ここまで 3. 上はファイルを扱う関数を使いました。 標準出力にCSV形式として出力するプログラムを作ります。 csvファイルにリダイレクトします。 実行例: > program.exe > dat.csv 以下はそのプログラムです。 //---ここから #include #include int main(void) { double pi = acos(-1); // 円周率。ラジアンの変換に必要。 for (int i = 0; i <= 360; i++) { // i(度)をラジアンに変換します。 // piがdoubleなので(double)キャストは不要です。 double i_rad = i * pi / 180; printf("%d,%f\n", i, cos(i_rad)); // csvとして出力します。 } } //---ここまで 4. 以下はCSVファイルをExcel 2013に取り込んでグラフにしたものです。 ・dat.csvをダブルクリックします。Excelが開くと思います。 開かない場合はdat.csvを右クリック→ 「プログラムから開く」→「Excel」を選んでください。 ・セルA1:B361の範囲にデータが格納されます。 ・A1:B361を選択します。 ・「挿入」メニューの「グラフ」タブの「おすすめグラフ」をクリックします ・「グラフの挿入」ダイアログボックスが開きます。 ・「おすすめグラフ」タブの「折れ線」をクリックしてOKボタンを押します。 グラフが挿入されます。 ・縦軸を右クリックします。(-1.5~1.5の部分) ・「軸の書式設定...」をクリックします。 ・「軸のオプション」で 「最小値」を-1.0に設定します。 「最大値」を1.0に設定します。