C言語初心者です
三角関数:y=(1/n)sin(2π15nt)について、n(n=1,3,5,....)の最大値(nmax)とファイル名を入力すると
0 (n=1,t=0のときの値) (n=3,t=0のときの値).....(n=nmax,t=0のときの値)
0.002 (n=1,t=0.002 ) (n=3,t=0.002 ).....(n=nmax,t=0.002 )
: : : :
1 (n=1,t=1 ) (n=3,t=1 )......(n=nmax,t=1 )
のようなtxtファイルが作成されるプログラムを作ろうとしたのですが、
以下のようなプログラムでは表示される値が左一列のみになってしまいました。
訂正すべき点を教えていただきたいです。宜しくお願いします<m(__)m>
【追記】cygwinを使用しています。
↓ご指摘いただいた点を修正したソースコードです
C
1#include <stdio.h> 2#include <math.h> 3 4int main(void) 5{ 6 int n, nmax; 7 double t; 8 double y; 9 10 char filename[FILENAME_MAX]; 11 FILE *fp; 12 13 printf("出力ファイル名 = "); 14 scanf("%s", filename ); 15 16 fp = fopen( filename, "w" ); 17 18 if( fp == NULL ){ 19 printf("[%s] ファイル・オープンの失敗\n", filename ); 20 return(1); 21 } 22 23 printf( "倍数nの最大値を入力してください:"); 24 scanf( "%d", &nmax ); 25 26 for( t = 0.0; t < 1.002; t+=0.002 ){ 27 fprintf( fp, "%f ", t ); 28 for( n = 1; n <= nmax; n+=2 ){ 29 y = sin(2.0 * M_PI * 15.0 * t * n ); 30 fprintf( fp, "(n=%d, y=%f) ", n, y/n ); 31 } 32 fprintf( fp, "\n"); 33 } 34 35 fclose(fp); 36 return(0); 37}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/19 04:03