Bạn chưa có khởi gán cho biến d thôi . Với lại giải thuật cũng ko đúngh nữa . Ko phải là cứ mỗi năm tuổi cha và con lại cộng cho n mà là cộng cho 1 thôi . Lần sau nhớ đọc code cho kỹ 1 tí nhé . Thân .
Có bài toán thế này
Nhập tuổi cha và con ,biết cha hơn con ít nhất 25 tuổi và tuổi cha lớn hơn 2 lần tuổi con.Từ tuổi đã nhập viết ct tính xem sau bao nhiêu năm tuổi cha gấp 2 lần tuổi con.
Mình viết chương trình vẫn chạy nhưng kết quả lại không đúng.Ví dụ mình nhậpCode:#include<stdio.h> #include<conio.h> #include<math.h> int ch,c,n,d; void main() { do { printf("Nhap tuoi cha :"); scanf("%d",&ch); printf("NHap tuoi con :"); scanf("%d",&c); } while(ch-c<25&&ch<=2*c); n=0; while(d!=ch) { n++; ch=ch+n; c=c+n; d=2*c; } printf("Sau %d nam tuoi cha la %d gap 2 lan tuoi con la %d",n,ch,c); getch(); }
tuổi cha =50
tuổi con =5
Kết quả là sau -30896 năm tuổi cha là 90 gấp 2 lần tuổi con là 45 (chỗ này đúng)
Bạn chưa có khởi gán cho biến d thôi . Với lại giải thuật cũng ko đúngh nữa . Ko phải là cứ mỗi năm tuổi cha và con lại cộng cho n mà là cộng cho 1 thôi . Lần sau nhớ đọc code cho kỹ 1 tí nhé . Thân .
Đã được chỉnh sửa lần cuối bởi sieuphuong : 17-01-2008 lúc 04:30 PM.
Khởi gán cho biến d nghĩa là sao.Mình đã khai báo biến d kiểu int rồi mà.Lúc đầu mình không dung biến d mà dùng trực tiếp ch!=2*c luôn. Và kết quả vẫn sai.Cái quan tâm ở đây là vì sao n++ mà kết quả tính ra n là số âm
Chào bạn, sửa code chỗ này lại là được:
Sau mỗi năm thì tuổi cha, con tăng 1 chứ ko phải tăng bằng tổng số năm =))Code:while(d!=ch) { n++; ch=ch++; c=c++; d=2*c; }
Sao phải dùng vòng lặp nhỉ, giả sử tuổi cha là d, tuổi con là c
Giả sử sau n năm, cha gấp 2 tuổi con tức là
d + n = (c+n)* 2
<-> d = 2 c + n
<-> n = d - 2*c
--> sau n năm, tuổi cha gấp 2 tuổi con
Thử vài ví dụ xem nào:
d = 30
c = 6 - > n = 18
48 = 2*24 -> đúng
d = 50
c = 5 -> n = 40
90 = 2*45 -> đúng
Bạn metal làm đúng nhưng chắc chắn các cụ sẽ chấm bài bạn 0 vì lý do các cụ muốn bạn giải bài này = vòng lặp. Các cụ ở đây chính là các giáo viên Tin học thời nay đấy, chán, 1 bài trẻ con mà phải dùng vòng lặp để giải, ko có 1 cái ví dụ nào cho vòng lặp ra hồn cả.
Ví dụ à, nhiều lắm:
- Tính tổng các số nguyên tố nằm trong khoảng [a,b] ( a<=b)
- Tính n giai thừa
- Kiểm tra một số có phải số nguyên tố hay ko?
Tiếc là các cụ ko nghĩ ra được như thế, các cụ bảo ta hãy dùng vòng lặp for giải 1 số bài toán dân gian như 100 trâu 100 bó cỏ, tuổi cha con ^^ Ko đỡ được. Có lẽ các cụ học Tin rồi quên Toán.
sao mình nhập tuổi cha với tuổi con xong thì chương trình đứng luôn.Ko bít tại sao,mọi người giúp với!!