読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

C言語で問題を解く

#include <stdio.h>

void spira(int n) {
  int i,j,k;

  for(i = 0; i < n; i++) {
    for(j = i; j < n - 1; j++) {
      printf(" ");
    }
    for(k = 0; k < i * 2 + 1; k++) {
      printf("*");
    }
    puts("");
  }
}

int main(void) {
  spira(4);
  spira(8);
  return 0;
}



#include <stdio.h>

void nrpira(int n) {
  int i,j,k;

  for(i = n; i > 0; i--) {
    for(j = i; j <= n - 1; j++) {
      printf(" ");
    }
    for(k = 1; k <= (i - 1) * 2 + 1; k++) {
      printf("%d", (n - i + 1) % 10);
    }
    puts("");
  }
}

int main(void) {
  nrpira(4);
  nrpira(8);
  nrpira(20);
  return 0;
}




#include <stdio.h>
#include <stdlib.h>

double aveof(const int a[], int n) {
  int i;
  int sum = 0;
  double ave = 0;
  
  for(i = 0; i < n; i++)
    sum += a[i];

  ave = sum / n;
  
  return ave;
}

int sumof(const int a[], int n) {
  int i;
  int sum = 0;

  for(i = 0; i < n; i++)
    sum += a[i];

  return sum;
}

int minof(const int a[], int n) {
  int i;
  int min = a[0];

  for(i = 1; i < n; i++)
    if(min > a[i]) min = a[i];

  return min;
}

int maxof(const int a[], int n) {
  int i;
  int max = a[0];

  for(i = 1; i < n; i++)
    if(a[i] > max) max = a[i];

  return max;
}

int main(void) {
  int i;
  int *height;
  int number;

  printf("人数 : ");
  scanf("%d", &number);

  height = calloc(number, sizeof(int));

  printf("%d人の身長を入力してください。\n", number);
  for(i = 0; i < number; i++) {
    printf("height[%d] : ", i);
    scanf("%d", &height[i]);
  }

  printf("最大値は%dです。\n", maxof(height, number));
  printf("最小値は%dです。\n", minof(height, number));
  printf("合計は%dです。\n", sumof(height, number));
  printf("平均は%.1fです。\n", aveof(height, number));
  
  free(height);
  
  return 0;
}