题目:
输入两个整数
m
和
n
,及另一正整数
k
,计算
m/n
,结果精确到小数点后
k
位
1
、问题分析与方案设计。
1.
首先解决输入问题。题目要求输入三个整数
m
,
n
,
k
。所以定义
input
()函
数,
使输入的为正整数,
如果是字母或者其他字符则会报错提示重新输入。
具体
方法:
先采用字符串输入,
限定每一个输入的字符都在
0~9
之间
,
保证输入的是
数字,
避免输入的是字母或者其他字符,
然后再对字符串使用
atoi
函数,
该函
数为
c
语言自带的函数,其功能为:把字符串转换成整型数。
2.
关于
m/n
的计算问题。计算结果要求精确到
k
位,由于
m
与
n
是整形,所以
m/n
结果也是整形,
而无法得到小数点后面的位数。
所以这里有两种解决方案①:
讲
m
、
n
定义为
double
型
②:将结果的整数部分与小数部分分别显示。由于第
一种方案的局限性
(无法精确到用户指定的
k
位)
,
所以本程序采用第二种方案,
3
.输出问题。首先在界面上把所输入的
m n k
全部显示出来以便用户查看,再
输出运算结果。结果的输出考虑最后一位四舍五入的情况。
4
.菜单与人性化设计。首先显示菜单,包括欢迎语,本程序的功能介绍以及用
户的输入要求,让人一目了然。当处理完一个操作之后,提示用户是否继续,输
入
y
继续,则再次输入
m n k
;若输入
n
则退出程序。
5.
另外考虑到除数不能为
0
,所以限定输入的
n
不能为
0
,若为
0
则报错重输。