c语言两数相除等于小数多少,c语言程序两数相除精确到小数点后k位

这篇博客介绍了如何用C语言编写程序来计算两个整数相除的结果,并精确到小数点后k位。程序通过输入m、n和k,先确保输入为正整数,然后计算m/n,将结果分为整数部分和小数部分进行处理,以达到精确到指定小数位的要求。此外,程序还包括了错误输入处理和用户是否继续运算的交互设计。
摘要由CSDN通过智能技术生成

题目:

输入两个整数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则报错重输。

流程图:

2、编程实现。

1、输入函数input()。

int input1()

{

int m;

int flag,i;//设定标识符flag,如果输入的不是0~9的数字则flag=1,进入报错重输循环

char t[100]; //先采用字符串输入 限定输入的每一位都在0~9之间,保证输入的是数字、避免输入的是字母或者其他字符

do{

flag=0;

fflush(stdin);

re: gets(t);

for(i=0;(size_t)i

{

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值