記憶領域確保と解法

以下のプログラムは、変数の種類に応じて、また変数のサイズに応じて配列を必要な分だけ確保し、データを格納・表示したあと、解法するものです。空欄を埋めて完成させなさい。

#include <stdio.h>

int main(){
  int i, num, type;
  int *a;
  double *b;

  printf("入力データの種類を決めてください 1(整数), 2(実数):");
  scanf("%d", &type);

  switch(type){
  case 1:
    printf("入力データ数を入力してください:");
    scanf("%d", &num);
    /*  double型変数の記憶領域の確保 */
    a = [空欄]

    for(i=0; i<num; i++)
      scanf("%d", &a[i]);
    
    for(i=0; i<num; i++)
      printf("%d ", a[i]);

    /*  記憶領域の解法 */
    [空欄]
    break;

  case 2:
    printf("入力データ数を入力してください:");
    scanf("%d", &num);
    /*  int型変数の記憶領域の確保 */
    b = [空欄]

    for(i=0; i<num; i++)
      scanf("%lf", &b[i]);
    
    for(i=0; i<num; i++)
      printf("%f ", b[i]);

    /*  記憶領域の解法 */
  [空欄]
    break;

  default:
    printf("1 or 2 を入力してください\n");
  }
}