c语言知识程序两数相除精确到小数点后k位

c语言知识程序两数相除精确到小数点后k位

ID:43428469

大小:79.00 KB

页数:9页

时间:2019-10-01

c语言知识程序两数相除精确到小数点后k位_第1页
c语言知识程序两数相除精确到小数点后k位_第2页
c语言知识程序两数相除精确到小数点后k位_第3页
c语言知识程序两数相除精确到小数点后k位_第4页
c语言知识程序两数相除精确到小数点后k位_第5页
资源描述:

《c语言知识程序两数相除精确到小数点后k位》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、-+题目:输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位1、问题分析与方案设计。1.首先解决输入问题。题目要求输入三个整数m,n,k。所以定义input()函数,使输入的为正整数,如果是字母或者其他字符则会报错提示重新输入。具体方法:先采用字符串输入,限定每一个输入的字符都在0~9之间,保证输入的是数字,避免输入的是字母或者其他字符,然后再对字符串使用atoi函数,该函数为c语言自带的函数,其功能为:把字符串转换成整型数。2.关于m/n的计算问题。计算结果要求精确到k位,由于m与n是整形,所以m/n结果也

2、是整形,而无法得到小数点后面的位数。所以这里有两种解决方案①:讲m、n定义为double型②:将结果的整数部分与小数部分分别显示。由于第一种方案的局限性(无法精确到用户指定的k位),所以本程序采用第二种方案,3.输出问题。首先在界面上把所输入的mnk全部显示出来以便用户查看,再输出运算结果。结果的输出考虑最后一位四舍五入的情况。4.菜单与人性化设计。首先显示菜单,包括欢迎语,本程序的功能介绍以及用户的输入要求,让人一目了然。当处理完一个操作之后,提示用户是否继续,输入y继续,则再次输入mnk;若输入n则退出程序。5.另外考虑到除

3、数不能为0,所以限定输入的n不能为0,若为0则报错重输。-+开始输入正整数m输入正整数n输入正整数ki

4、do{flag=0;fflush(stdin);re:gets(t);for(i=0;(size_t)i

5、

6、t[i]>'9')flag=1;}if(flag){printf("输入有误,请重新输入m:>>");flag=0;//(这一步要重置flag为0,当做无误的再作判断)gotore;}}while(flag);m=atoi(t);//atoi功能:把字符串转换成整型数returnm;}并且在input2中用以下语句限定n不能输入为0.if(m==0){printf(

7、"n不能为0,请重新输入n>>");gotore;}//考虑到除数不能为02、功能实现1)、输出整数部分和小数点。关键程序:printf("运算结果为%d.",m/n);//%d.将整数部分与小数部分分开处理2)、输出小数部分。主要通过i

8、10;//最后一位(k位)四舍五入x=m/n;//k位的值-+m=m%n;m*=10;f=m/n;//k下一位的值,用于判断是否大于5if(f<5)printf("%d",x);elseprintf("%d",x+1);3、询问是否继续。实现多次执行程序。关键代码:printf("是否继续?y/n>>");fflush(stdin);scanf("%c",&c);while(c!='y'&&c!='n'){printf("输入有误请选择y或者n>>");fflush(stdin);scanf("%c",&c);}

9、if(c=='y')gotorepeat;elseprintf("再见");源程序:3、测试数据、测试结果、结果分析。测试1:测试数据:m=787422n=89999k=90测试结果:-+结果分析:分别输入mnk如果输入的n=adc11则会报错(因为输入的n不为正整数)要求重新输入。当输入完成,则会显示输入的mnk的值并得出运算结果。测试2:测试数据:m=549741164n=5646877k=10测试结果:结果分析:最后询问是否继续,输入y或者n,若果非y或者n,则提示重新输入,输入y之后则再一次的输入mnk-+源代码:#

10、include#include#include#includeintinput1(){intm;intflag,i;chart[100];do{flag=0;fflush(stdin);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。