Мне кажется, я понимаю, что вы действительно хотите сделать:
Ваша управляющая переменная - это не i и не t, а i / t, которая является i-й выборкой из t выборок в секунду:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define LEN 256
int main ()
{
FILE * fp;
unsigned int i=0; //sample count
double y=0; //y values
double f=0; //frequency
unsigned int t=0; //time
/* open the file for writing*/
fp = fopen ("1.dat","w");
printf("Enter the frequency in hertz: ");
scanf("%lg", &f);
printf("Enter the number of samples : ");
scanf("%u", &t);
/* write 1 seconds of time data into the file stream*/
for(i = 0; i < t;i++){
y=sin(2*M_PI*f*i/t);
fprintf (fp, "%g\n",y);
}
/* close the file*/
fclose (fp);
return 0;
}