Môn: Nhập môn lập trình 1. Phân tích đoạn chương trình lỗi Đề bài: Bài 33 – KTLT: Tính S(n) = Căn (2 + Căn (2 +….. Căn (2 +căn(2) ))). có n dấu căn Code bị lỗi: -> vì sao nhập bất kì số nào cũng cho kết quả là 1.41421 ??
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include<iostream> #include<math.h> using namespace std; int n; void nhap(int n) { do { cout << "Nhap vao so N(n>0)"; cin >> n; if (n < 1) { cout << "Nhap khong hop le! Hay nhap lai!"<<endl; } } while (n<1); } float can(int n) { float s = sqrt(2); for (int i = 0; i < n; i++) { s = sqrt(2 + s); } //cout << "Tong la: " << s; return s; } void main() { nhap(n); cout << "Tong la: " << can(n) << endl; system("pause"); } |
Các lỗi cụ thể: – […]