Thứ Hai, 26 tháng 3, 2018

Phần 2 - Bài tập c/c++ kèm lời giải - Cấu trúc rẽ nhánh

Nào chúng ta cùng bắt đầu với Cấu trúc rẽ nhánh như if else, switch case. Nào cùng bắt đầu nào!

Bài 1: Viết chương trình chuyển độ F sang độ C

/* Doi do F sang do C */
#include <stdio.h>
void main()
{
  double fahrenheit, celsius;

  printf("\nNhap gia tri do Fahrenheit : ");
  scanf("%lf", &fahrenheit);
  if (fahrenheit != 32.0)
  {
    celsius = 5.0 * (fahrenheit-32.0) / 9.0 ;
    printf("Do Celsius tuong ung = %5.2lf", celsius);
  }
  getch();
}

Bài 2: Viết chương trình giải phương trình bậc nhất AX+B=0

/* Bai tap 2 - Giai phuong trinh bac nhat AX + B = 0 */
#include <stdio.h>
void main()
{
  float a, b;

  printf("\nGiai phuong trinh bac nhat AX + B = 0");
  printf("\nCho biet ba he so A B : ");
  scanf("%f%f", &a, &b);

  if (a==0)
    if (b!=0)
      printf("Phuong trinh vo nghiem");
    else
      printf("Phuong trinh co nghiem khong xac dinh");
  else
    printf("Dap so cua phuong trinh tren = %f", -b/a);
  getch();
}

Bài 3: Viết chương trình giải phương trình bậc 2

/* Bai tap 3 - Giai phuong trinh bac hai AX^2 + BX + C = 0 */
#include <stdio.h>
#include <math.h>
void main()
{
  float a, b, c, delta;

  printf("\nGiai phuong trinh bac hai AX^2 + BX + C = 0");
  printf("\nCho biet ba he so A B C : ");
  scanf("%f%f%f", &a, &b, &c);

  delta = b * b - 4 * a * c;
  if (delta<0)
    printf("Phuong trinh vo nghiem");
  else if (delta == 0)
      printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a));
  else
  {
    printf("Phuong trinh co hai nghiem phan biet\nx1 = %f", (-b + sqrt(delta))/(2*a));
    printf("\nx2 = %f", (-b - sqrt(delta))/(2*a));
  }
  getch();
}

Bài 4: Viết chương trình giải hệ phương trình bậc nhất

#include <stdio.h>
void main()
{
  int a, b, c, d, e, f, dthuc;
  float x, y;

  printf("\nNhap vao cac he so a,b,c,d,e,f : ");
  scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
  dthuc = b*d - e*a;
  if (dthuc != 0)
  {
    y = (float)(c*d-a*f)/dthuc;
    x = (float)(b*f-c*e)/dthuc;
    printf("Nghiem x = %f, y = %f", x, y);
  }
  else
    printf("\nHe phuong trinh vo ngiem.");

  getch();
}

Bài 5: Viết chương trình tính cước Taxi

#include <stdio.h>
#include <math.h>
void main()
{
  unsigned long sotien;
  float sokm;

  printf("\nBan hay cho biet so km da di duoc : ");
  scanf("%f", &sokm);

  if (sokm <= 1.0)
    sotien = 5000;
  else if (sokm <= 30.0)
         sotien = 5000 + float((sokm - 1.0) * 5.0) * 1000;
       else
         sotien = 150000 + (ceil(sokm) - 30) * 3000;
  printf("\nSo tien can tra = %lu", sotien);

  getch();
}

Bài 6: Làm chương trình "Piano" đơn giản ^^

#include <stdio.h>
#include <dos.h>
#include <ctype.h>
void main()
{
  char c;

  printf("\nNhan cac phim A, B, C, D, E, F, G de choi cac not nhac.");
  printf("\nNhan phim ESC de ket thuc.");
  do {
    c = toupper(getch());
    switch(c)
    {
      case 'A' : sound(440);
                 break;
      case 'B' : sound(494);
                 break;
      case 'C' : sound(523);
                 break;
      case 'D' : sound(587);
                 break;
      case 'E' : sound(659);
                 break;
      case 'F' : sound(698);
                 break;
      case 'G' : sound(784);
                 break;
    }
    delay(100);
    nosound();
  } while (c != 27);
}
Bài tiếp theo chúng ta sẽ làm bài tập về các lệnh lặp
Disqus Comments