06/04/2021, 14:47

[Bài tập C] Tìm số lớn nhất trong ba số - Bài tập C có lời giải

Trong hướng dẫn này, mình đã chia sẻ một chương trình dùng để so sánh ba số nguyên từ người dùng nhập vào và trả về số lớn nhất. Để thực hiện so sánh này ta sẽ sử dụng lệnh if-elseif-else. Chương trình C tìm số lớn nhất Để tìm số lớn nhất trong ba số thì có rất nhiều cách. Cách thứ nhất là ...

Trong hướng dẫn này, mình đã chia sẻ một chương trình dùng để so sánh ba số nguyên từ người dùng nhập vào và trả về số lớn nhất. Để thực hiện so sánh này ta sẽ sử dụng lệnh if-elseif-else.

Chương trình C tìm số lớn nhất

Để tìm số lớn nhất trong ba số thì có rất nhiều cách. Cách thứ nhất là dùng biến tạm, cách thứ hai là so sánh trực tiếp. Để tăng độ phức tạp để các bạn rèn luyện tư duy thì mình sẽ sử dụng cách so sánh trực tiếp.

Chương trình chính như sau:

#include<stdio.h>
int main()
{
   int num1,num2,num3;
   
   //Yêu cầu người dùng nhập vào ba số để so sánh
   printf("
Nhap vao ba so can kiem tra:");
   //Lưu ba số vào ba biến
   scanf("%d %d %d",&num1,&num2,&num3);

   if((num1>num2)&&(num1>num3))
      printf("
 Number1 la so lon nhat");
   else if((num2>num3)&&(num2>num1))
      printf("
 Number2 la so lon nhat");
   else
      printf("
 Number3 la so lon nhat");
   return 0;
}

Giả sử bạn nhập ba số là: 15 200 101 thì kết quả sẽ như sau:

Nhap vao ba so can kiem tra: 15 200 101
 Number2 la so lon nhat

Thực ra bạn nên đưa chương trình nào vào một hàm riêng để có thể tái sử dụng nhiều lần. Tuy nhiên vì các bạn chưa học cách tạo hàm trong C nên tạm thời hãy hiểu thuật toan đã nhé. Còn nếu bạn đã biết thì có thể tham khảo đoạn code sau:

Hàm trả về số lớn nhất:

int find_max(int num1, int num2, int num3){
    int tmp;
    tmp = num1;

    if (num2 > tmp){
        tmp = num2;
    }

    if (num3 > tmp){
        tmp = num3;
    }
    return tmp;
}

Trần Trung Dũng

15 chủ đề

2610 bài viết

0