Tại sao nó lại không ra 2.5 nhỉ mình chuyển về dạng số thực rồi

tại sao nó lại ko ra 2.5 nhỉ mình chuyển về dạng số thực r mà

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int  tinhtong(int a[],int kichthuoc);
int main(int agrc, char *agrv[])
{
	int kichthuoc[4]={1.0,2.0,3.0,4.0};
	tinhtong(kichthuoc,4);
	return 0;
	
	}
int tinhtong(int a[],int kichthuoc)
{
	int i, tong;
 	double tb;
	 tong=0;

	for(i=0;i<kichthuoc;i++)
		tong=(tong+a[i]);
		tb=tong/kichthuoc;
	printf("%f",tb);
	}

Nếu bạn muốn dùng số thực thì phải khai báo mảng là kiểu float. Nếu int chia int thì nó sẽ ra số nguyên thôi.
Bạn học cách post code nha. Nhìn code của bạn hơi nhức mắt tí :smiley:

1 Like

float kichthuoc[4]={1.0,2.0,3.0,4.0};
thế này à b. mình ms học nên nhiều chỗ chưa biết

Đúng rồi đấy. Mà cả trong hàm tính tổng nữa, bạn thay tất cả int bằng float đi :)).

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?