C语音 实数的四舍五入

实数的四舍五入
C语言中,对于给定double类型数据x,将该数精确到小数位数第n位后保存到y中,再输出y的值。其中n由键盘输入。
(1) 写出思路
(2)程序代码
(3)设计测试用例(等价类测试,含每个测试的输入样例,输出样例
提示:
(1)负实数 小数部分有16位
(2)负实数 小数部分有0位
(3)负实数 小数部分有k位,0<k<16
(4)正实数 小数部分有16位
(5)正实数 小数部分有0位
(6)正实数 小数部分有k位,0<k<16
(7)0