01/10/2018, 00:00
Các bác giỏi C giúp em phát
em mới học C, viết đoạn code này mà không biết sai ở đâu, bác nào chỉ em với.
int heso (int a, int b);
int main()
{
int tien = getchar();
int so_nam=10;
int a = 16;
int b =100;
for(int sonam=1;sonam<=so_nam;sonam++){
int lai;
lai = tien*heso(a,b);
tien+=lai;
printf("sau %d nam ban se duoc %d tien
", sonam, tien);
}
return 0;
}
int heso (int a, int b){
int ty_le=a/b;
return ty_le;
}
Bài liên quan
Sai kết quả thì mình nghĩ là bạn đang bị lỗi logic ở đây.
Kết quả của a/b có thể bạn muốn là số thực nhưng bạn lại đang để nhầm kiểu dữ liệu về kiểu int.
Như vậy kết quả sẽ được lấy phần nguyên không như mong muốn
mình thử đổi thành float nó vẫn lỗi
Code bác có nhiều lỗi quá
ty_le
là phép chia, thường là kiểu thực nhưng bác lại dùng kiểuint
.getchar()
là để lấy 1 kí tự từ bàn phím chứ không phải số nguyên, cho nên giả dụ bác có nhập9
thì nó cũng không phải là số 9 đâu. Dẫn tới phần code phía dưới cũng sai nốt.return
thì bác thụt ra ngoài làm gì?scanf("%d",&tien) thì đúng hơn
oke thank bạn