/*NHAP VAO SO NGUYEN a va b VA THUC HIEN PHEP CHIA LAY PHAN NGUYEN VA PHAN DU CUA a chia b*/ #include //thu vien de su dung cac lenh printf[] ,scanf[] ,..// #include //thu vien de su dung lenh getch[]// int main[] //Khai bao kieu tra ve va ten ham chinh// { int a,b; //khai bao bien a theo kieu nguyen integer// printf["Nhap vao so nguyen a: "]; //in ra man hinh dong chu// scanf["%d",&a]; //nhap so nguyen a tu ban phim // printf["Nhap vao so nguyen b: "]; scanf["%d",&b]; printf["Chia lay phan nguyen cua a chia b = %d \n",a/b]; //in ra man hinh ket qua, / la chia lay phan nguyen// printf["Chia lay phan du cua a chia b = %d",a%b]; //in ra man hinh ket qua, % la chia lay phan du// getch[]; //lenh tam dung man hinh de xem ket qua// }
- Login
- Register
with your social network
OR
Resend activation email
Not a member? Register
I can't rememeber my password
This site is protected by reCAPTCHA and Terms of Use apply.
I agree to the Terms and Conditions of CodeLearn
Already registered? Login
- Login
- Register
with your social network
OR
Resend activation email
Not a member? Register
I can't rememeber my password
This site is protected by reCAPTCHA and Terms of Use apply.
I agree to the Terms and Conditions of CodeLearn
Already registered? Login
- Diễn đàn
- LẬP TRÌNH C++ | LẬP TRÌNH C | LẬP TRÌNH C++0X
- Nhập môn lập trình C/C++
- Kỹ thuật C Vấn đề lấy phần nguyên của hàm float, hay double.
mấy cái nì lâu ngày qên mất tiu ùi hehe coi lại phần nhập xuất ấy.
float x = 5.33342132132;
int n = [int] x; // n = 5
// tương tự với 3.0000
Nguyên bản được gửi bởi meterpreter
float x = 5.33342132132;
int n = [int] x; // n = 5
// tương tự với 3.0000
Code:
double z = 12.4645; printf["z = %.*lf\n", 2, z];
- Vấn đề lấy phần nguyên của hàm float, hay double.
Bạn thử cho định dạng phần thập phân bằng 0 xem, ví dụ
Code:
float x=3.14; printf["x = %2.0f",x];
Còn nếu là số thập phân không vô hạn và để máy tự động in ra các chữ số có nghĩa thì dùng định dạng %gĐã được chỉnh sửa lần cuối bởi qu4ngco : 28-09-2011 lúc 03:48 PM.
mình muốn hỏi là nếu số đó là double, giá trị là 2^63 - 0.5 chả hạn, thì mình muốn làm 1 biến mới chỉ lấy phần nguyên của biến đó thì làm thế nào? nếu là ép kiểu [int] hay [long] thì mình thấy k đủ vì chúng nó chỉ đến 2^32-1 thì làm sao đc nhỉ?
Nguyên bản được gửi bởi alfred_edison_93
mình muốn hỏi là nếu số đó là double, giá trị là 2^63 - 0.5 chả hạn, thì mình muốn làm 1 biến mới chỉ lấy phần nguyên của biến đó thì làm thế nào? nếu là ép kiểu [int] hay [long] thì mình thấy k đủ vì chúng nó chỉ đến 2^32-1 thì làm sao đc nhỉ?
int a = [long long int] abc;Vậy chắc đủ, nếu chưa đủ theo ý bạn thì tự viết 1 class số lớn để xử lý....
Nguyên bản được gửi bởi nguyennhutbinh_269
Thông thường khi xuất KQ ở dạng float hay double thì kết quả có dạng a.bfsdw....
float x=5.131311;
VD như: 5.131311
3.0000000
Các bạn cho mình hỏi ở 2 VD trên làm sao để bỏ bớt giá trị thập phân chỉ lấy phần nguyên thôi. Cụ thể ở 2 VD trên thì [5.131311 = 5; 3.0000000 = 3]. Thanks nha!
printf["x = %2.0f",x];//in ra x=5 [.0 là phảy động tức lấy sau dấu , 0 chữ số còn 2 là khoảng trống để chứa kí tự in ra].[SIGPIC]Đam mê dẫn đến thành công!
Nguyên bản được gửi bởi vntrang
float x=5.131311;
Bạn xem lại kiến thức đi nhé, không biết test chưa vây 2 là tổng các chỗ trống trong đó 1 vị trí cho dấu "." và 1 vị trị cho phần nguyên phần thập phân không có gì.
printf["x = %2.0f",x];//in ra x=5 [.0 là phảy động tức lấy sau dấu , 0 chữ số còn 2 là khoảng trống để chứa kí tự in ra].
Các đề tài tương tự
Trả lời: 3
Bài viết cuối: 06-11-2013, 11:21 AM
Trả lời: 22
Bài viết cuối: 23-03-2011, 12:56 AM
Trả lời: 10
Bài viết cuối: 18-03-2010, 11:25 PM
Trả lời: 4
Bài viết cuối: 30-01-2010, 10:55 PM
Quyền hạn của bạn
- Bạn không thể gửi đề tài mới
- Bạn không thể gửi bài trả lời
- Bạn không thể gửi các đính kèm
- Bạn không thể chỉnh sửa bài viết của bạn
Tìm hiểu luật lệ tham gia diễn đàn
- BB code: On
- Mặt cười: On
- [IMG] code: On
- [VIDEO] code is On
- HTML code: Off