code của bạn nhiều chỗ sai quá.
Thứ 1: for(i = 1; i < n; i++)
- trong hàm for thì phải khai báo biến i nhé: for(int i = 1; i < n; i++)
Thứ 2:
void inHoanChinh(int dau, int cuoi)
{
for(i = dau; i <= cuoi; i++)
if(hc)
printf("Day la so hoan chinh");
else
printf("Day khong la so hoan chinh");
}
}
- Biến hc ở đây là biến cục bộ trong hàm main nên trong hàm inHoanChinh() không sử dụng được.
- Và mục đích của hàm này chỉ là in ra 2 dòng: “Day la so hoan chinh” hoặc “Day la so khong hoan chinh”
Thứ 3: Mình chỉ mới đọc code thôi nhưng mình nghĩ thuật toán của bạn cho bài này chưa chính xác. Nếu bạn muốn thì mình có thể viết lại cho bạn

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