Hỏi cách giải bài toán về mảng trong C
mình mới tự học lập trình C đang học tới bài mảng, gặp bài tập thì bị đứng hình, mọi người giúp với TT!
Bài tập 1
Tạo một function tongArray để tính tổng các giá trị chứa trong nó (sử dụng return để trả về giá
trị). Và để giúp bạn hiểu rõ hơn, đây là prototype của function cần viết:
C code:
int tongArray (int array[ ], int kichthuocArray);
và đây là bài code của mình:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int mang[4], i = 0, s= 0;
for(i = 0; i < 4; i++)
{
printf("nhap cac gia tri trong mang
");
scanf("%d",&mang[i]);
s+=mang[i];
}
printf("tong cac gia tri trong mang = %d
",s);
return 0;
}
thấy có chạy, có tính tổng nhưng kì kì sao á, ai có cách code nào hay hơn mà xử dụng cả prototype không chỉ mình với.
thank all.
Hi St Marshy.
Bạn viết thành hảm riêng ra chứ @_@!
Em có thể tham khảo cách viết này:
scanf("%d", &arr_size_out); dòng này là nhập vào số giá trị trong mảng hả anh như kiểu mảng có 5 số giá trị thì mình nhập là 5 ý.
cho em hỏi nữa là:
int array_sum(int arr_in[], int arr_size_in)
{
int sum = 0;
}
hàm này không khai báo i hả anh, còn cái arr_size_in khác i ở chỗ nào ạ, em thấy i cũng là kích thước mảng mà
còn nhiều câu hỏi khác nữa tại cái code của anh nó còn nhiều thứ lạ lẫm với em quá TT
Sai.
int i=0;
rồido e chưa quen thôi, code a viết như vậy là tương đối dễ hiểu và trong sáng đó. E nên đi từ hàm main, chạy debug từng dòng, sẽ hiểu được. Chứ e đừng vào là xem hàm tính tổng ngay. Với code a là 1 dạng để tham khảo thôi, e hãy hiện thực lại việc em hiểu theo cách của em.
anh ơi! cho em hỏi em code như này:
#include <stdio.h>
#include “helloc.h”
void tongnhap(int mang[], int n);
void tongxuat(int mang[], int n);
int main()
{
int s = 0, t = 0, n = 10;
int mang[n];
tongnhap(mang,n);
tongxuat(mang,n);
int i;
for(i = 0; i < n; i++)
{
s+=mang[i], t = s/n;
}
printf(“tong cac gia tri trong mang = %d\n”,s);
printf(“trung binh cong cac gia tri trong mang = %d\n”,t);
return 0;
}
void tongnhap(int mang[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf(“nhap vao gia tri trong mang[%d]\n”,i);
scanf("%d\n",&mang[i]);
}
}
void tongxuat(int mang[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf(“cac mang da nhap = %d\n”,mang[i]);
}
}
chạy mọi thứ đều đúng, riêng ở chỗ nhập mang[0] em phải nhập 2 lần là sao hả anh???
ps/ 2 hàm void em để trong file.h nha, tập chuyên nghiệp tí
E bỏ ‘\n’ trong scanf đi rồi thử lại xem sao.
à đúng rồi! lỗi của em
A post was split to a new topic: Mong mọi người giúp đỡ kiểm tra hàm lấy giá trị lớn nhất
This post was flagged by the community and is temporarily hidden.