#include #include int main() { int length, i; int start, stop, step; int *array; /* 開始値、最後の値、刻みを入力 */ printf("Input start, stop, and step of the sequence: "); scanf("%d%d%d", &start, &stop, &step); /* 数列の長さ、必要なメモリサイズを計算、表示 */ length = (int) ((stop - start) / step) + 1; printf("Length: %d\n", length); printf("Memory to be allocated (Byte): %d\n", sizeof(int)*length); /* メモリ確保 */ array = (int *) malloc( sizeof(int)*length ); if (array == NULL ){ /* エラー処理:無しでも減点しない */ fprintf(stderr, "error in memory allocation!\n"); exit (4); } /* 確保したメモリへの数列の値の保存 */ for( i=0 ; i<=length-1 ; i++ ){ array[i] = start + i*step; } /* 数列の値の表示 */ printf("Sequence:\n"); for( i=0 ; i<=length-1 ; i++ ){ printf("%d ", array[i]); } printf("\n"); /* 確保したメモリの使用終了後の処理 */ free( array ); return 0; }