Bài viết được đăng tại nguyenlediep.com - không copy dưới mọi hình thức.
NLD Code - Viết chương trình nhập vào dãy số in ra số lớn nhất và vị trí của số đó trong C. Dãy số được nhập vào là dãy số nguyên và có độ dài không quá 50 phần tử.
Viết chương trình nhập vào dãy số in ra số lớn nhất và vị trí của số đó trong C. Dãy số được nhập vào là dãy số nguyên và có độ dài không quá 50 phần tử.
Câu hỏi
- Viết chương trình nhập vào dãy số in ra số lớn nhất và vị trí của số đó trong C.
Gợi ý
- Chúng ta sử dụng mảng, vòng lặp for để xử lý bài toán trên
Tiến hành code
Chèn các thư viện vào file hiện hành
#include<stdio.h> #include<conio.h>
Khai báo mảng và các biến kiểu dữ liệu int
int a[50], i, n, max;
In ra thông báo nhập số phần tử của dãy số
printf(" - Nhap vao so phan tu: ");
Nhận số phần tử người dùng nhập vào
scanf("%d",&n);
Chạy vòng lặp for từ 0 đến n phần tử
for(i = 0; i < n; i++){ }
In ra thông báo nhập n phần tử
printf(" - Nhap phan tu: ");
Thêm các phần tử n vừa nhập vào mảng
scanf("%d",&a[i]);
Gán biến max là số lớn nhất cho phần tử thứ 0 trong mảng
max = a[0];
Sử dụng vòng lặp for chạy từ 1 đến n để so sánh số lớn nhất
for(i = 1; i < n; i++){ }
Sử dụng lệnh if để xét phần tử thứ i có lớn hơn max
if(a[i] > max){ }
Nếu điều kiện bên trên thỏa thì biến max sẽ bằng phần tử thứ i
max = a[i];
In ra số lớn nhất sau khi đã xét ở trên
printf("\n => So lon nhat: %d",max);
Sử dụng vòng lặp for để chạy từ 0 đến n để tìm vị trí số lớn nhất
for(i = 0; i < n; i++){ }
Xét điều kiện phần tử thứ i bằng biến max
if(a[i] == max){ }
Nếu điều kiện bên trên thỏa mãn thì biến vt sẽ bằng i + 1 (vì i chạy từ 0)
vt = i + 1;
In ra vị trí của số lớn nhất sau khi đã xét ở trên
printf("\n => Vi tri cua gia tri lon nhat trong day la: %d",vt);
Code hoàn chỉnh
// http://nguyenlediep.com #include<stdio.h> #include<conio.h> main(){ printf("\n"); int a[50], i, n, max, vt; printf(" - Nhap vao so phan tu: "); scanf("%d",&n); for(i = 0; i < n; i++){ printf(" - Nhap phan tu: "); scanf("%d",&a[i]); } max = a[0]; for(i = 1; i < n; i++){ if(a[i] > max){ max = a[i]; } } printf("\n => So lon nhat la: %d",max); for(i = 0; i < n; i++){ if(a[i] == max){ vt = i + 1; } } printf("\n => Vi tri cua gia tri lon nhat trong day la: %d",vt); printf("\n >>>>> nldc.vn <<<<<\n"); }
Kết quả
- Lưu C code thành file .cpp, nhấn F9 để biên dịch chương trình sau đó nhấn F10 ta được: