ryuchan00 / basic_programing

UEC
0 stars 0 forks source link

11 C言語の導入方法 #11

Open ryuchan00 opened 4 years ago

ryuchan00 commented 4 years ago

Macの場合

xcodeをインストールする

gcc hello.c
./hello.out

【超初心者】Macでプログラミング(C言語)を始めるための準備

hayato0718 commented 4 years ago

まちがい


ア def doit(p)
ウ     q = Cell.new(p.data, p.next)
ク     p.next = q
コ     p.next.next = q
サ     p.next.next = p.next.next.next
イ end
hayato0718 commented 4 years ago

せいかい


ア def doit(p) 
ケ   p.next = p.next.next
オ   q = Cell.new(p.next.data, p.next)
ク   p.next = q
イ end 
hayato0718 commented 4 years ago

まちがい


ア def doit(p)
カ     while p != nil do
コ         if m < p.next.data then m = p.next.data end
ウ         return m
イ     end
イ end
hayato0718 commented 4 years ago

せいかい


ア def doit(p) 
チ   m = p.data
カ   while p != nil do 
ケ     if m < p.data then m = p.data end
ナ     p = p.next
イ   end 
ウ   return m
イ end
ryuchan00 commented 4 years ago

伊東さん、わからないことがあったら今だけ書いてくれればみますよー

hayato0718 commented 4 years ago

// iabs1 --- absolute value (of integer)
#include <stdio.h>
int iabs1(int a)  {
  if(a < 0)  { 
    return  -a;
  } else {
  return a;
  } 
}
int iabs1(int a) {
  if(a < 0) {
    return -a;
  }
  return a;
}
int iabs1(int a) {
  return (a < 0) ? -a : a;
}

int main(void) {
  int x, v;
  printf("x> "); scanf("%d", &x);
  v = iabs1(x);
  printf("abs = %d\n", v);
  return 0;
}

このプログラムが例題通りにうまく動かなくて泣きました。
hayato0718 commented 4 years ago

こっちはうまくいきました。 ‘‘‘ // times1.c

include

include

void times1(int n) { int i; for(i = 1; i <= n; ++i) { printf("%3d", i); if(i % 20 == 0 || i == n) { printf("\n"); } } } int main(void) { int n; printf("n> "); scanf("%d", &n); times1(n); return 0; }

hayato0718 commented 4 years ago

// times1.c 
#include <stdio.h>
#include <math.h>
void times1(int n) {
  int i;
  for(i = 1; i <= n; ++i) {
    printf("%3d", i);
    if(i % 20 == 0 || i == n) { printf("\n"); }
  }
}
int main(void) {
  int n;
  printf("n> "); scanf("%d", &n);
  times1(n);
  return 0;
}
hayato0718 commented 4 years ago

例題1


// triarea --- area of triangle
#include <stdio.h>
double triarea(double w, double h) {
  double s;
  s = (w * h) / 2.0;
  return s;
}
int main(void) {
  double w, h, s;
  printf("w> "); scanf("%lf", &w);
  printf("h> "); scanf("%lf", &h);
  s = triarea(w, h);
  printf("triarea = %g\n", s);
  return 0;
}
hayato0718 commented 4 years ago

演習1a

‘‘‘ // 円錐の底面の半径と高さを与え、体積を出力する。

include

double cornvol(double r, double h) { double s; s = (rr3.14) / 3.0; return s; } int main(void) { double w, h, s; printf("w> "); scanf("%lf", &w); printf("h> "); scanf("%lf", &h); s = triarea(w, h); printf("triarea = %g\n", s); return 0; }

hayato0718 commented 4 years ago

活動内容報告 #11
学籍番号:1920003
氏名:伊東 隼人

提出日付:2020/1/06

[作成したプログラム]

演習1a

// 円錐の底面の半径と高さを与え、体積を出力する。
#include <stdio.h>
  double cornvol(double r, double h) {
  double s;
  s = (rr3.14) / 3.0;
  return s;
}
int main(void) {
  double w, h, s; 
  printf("w> "); scanf("%lf", &w);
  printf("h> "); scanf("%lf", &h);
  s = triarea(w, h);
  printf("triarea = %g\n", s);
return 0;
}

[簡単な説明]

円錐の底面の半径と高さを与え、体積を出力する。

[アンケート]
Q1. 強い型の言語、とくにC言語についてどう思いましたか。
Rubyに慣れてしまっていましたが、Cも慣れないと大変そうだと感じています。

Q2. 言語が異なるとプログラミングの方法も異なると思いますか。
思いました。

Q3. リフレクション(今回の課題で分かったこと)・感想・要望をどうぞ。
むつかしい。
hayato0718 commented 4 years ago

演習1aできました!!!!!!


// 円錐の底面の半径と高さを与え、体積を出力する。
#include <stdio.h>
double cornvol(double r, double h) {
  double s;
  s = (r*r*3.14) / 3.0;
  return s;
}
int main(void) {
  double w, h, s;
  printf("w> "); scanf("%lf", &w);
  printf("h> "); scanf("%lf", &h);
  s = cornvol(w, h);
  printf("cornvol = %g\n", s);
  return 0;
}
hayato0718 commented 4 years ago

実行すると


bonchi-fried@LAPTOP-K8Q6CM8A:/mnt/c/users/bonch/documents/repo/fp19/11$ gcc cornvol1a.c
bonchi-fried@LAPTOP-K8Q6CM8A:/mnt/c/users/bonch/documents/repo/fp19/11$ ./a out
-bash: ./a: No such file or directory
bonchi-fried@LAPTOP-K8Q6CM8A:/mnt/c/users/bonch/documents/repo/fp19/11$ ./a.out
w> 20
h> 15
cornvol = 418.667
ryuchan00 commented 4 years ago

これ、wじゃなくてrの方が良くないですか?半径なので

ryuchan00 commented 4 years ago

演習3 https://github.com/ryuchan00/basic_programing/blob/master/11/enumeration.c もうちょっと良くできそうだけど、これでいいや