问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

这里应该怎么取整和取小数部分啊

发布网友 发布时间:2022-04-13 17:47

我来回答

3个回答

热心网友 时间:2022-04-13 19:16

楼主,你有个根本性的错误,去一个数的整数和小数部分,不能用浮点数去求,用它肯定是错误的,原因就是你要记住浮点数只是精确表示,不是准确表示。
例如:你输入3456.90.
按照你的思路:它可能输出整数部分是3456,小数部分89.所以你看结果还不是准确的。

要实现你说的,如果要准确抽取,必须用字符串表示你输入的带有小数点的数字,然后根据小数点位置,分别提取整数部分,和小数部分。

这才是提取整数和小数部分的正确思想。

如果你需要程序的话,下面是根据我上面说的思想写的。
你输入一个小数,它显示整数部分和小数部分。
#include <stdio.h>

int main(void)
{
char num[20];
int zs=0;//整数部分
int xs=0;//小数部分
int i,flag=1;
scanf("%s",num);
for(i=0;num[i]!='\0';i++)
{
if(num[i]=='.')
flag=0;
else
if(flag==1)
{
zs*=10;
zs+=(num[i]-'0');
}
else
{
xs*=10;
xs+=(num[i]-'0');
}
}
printf("整数部分:%d\n",zs);
printf("小数部分:%d\n",xs);
return 0;

}
如上
例如你输入:56.789
显示结果
整数部分:56
小数部分:789
有问题可以hi我。

热心网友 时间:2022-04-13 20:34

转换没问题,输出出了问题。应该输出dollars[0]-dollars[4];
不应该输出dollars[5],而你的程序是。

int main(void)
{
int i;
float amounts[5];
long dollars[5],cents[5];

for(i=0;i<5;i++)
{
printf("Please import 5 numbers:");
scanf("%f",&amounts[i]);

dollars[i]=int(amounts[i]);
cents[i]=long((amounts[i]-(int(amounts[i])))*100);
}

for(i=0;i<5;i++)
printf("$%ld. %ld\n ",dollars[i],cents[i]);
return 0;

}

热心网友 时间:2022-04-13 22:09

错误分析:
scanf("%f",amounts[i]); ??!!
应该改成scanf("%f",&amounts[i]);
自己看看scanf的函数定义

scanf(格式控制,地址表列)
int scanf(char *format[,argument,...]);
“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址。

#include <stdio.h>

int main(void)
{
int i;
float amounts[5];
long dollars[5],cents[5];

for(i=0;i<5;i++)
{
printf("Please import 5 numbers:");
scanf("%f",&amounts[i]);

dollars[i]=int(amounts[i]);
cents[i]=long((amounts[i]-(int(amounts[i])))*100);

printf("$%ld.%ld\n",dollars[i],cents[i]);
}
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 华为一体机。有电开不了机 要用充电器充着电才可以开机。求解 华为g7一体机开不了机怎么办? 如何把word文档转化成pdf格式的文档,谢谢! 拉下什么填词语? 婆婆说大儿子把二儿子拉下水是什么意思? 怎样把word转换成pdf格式浏览查看 有的人宁愿自己不好也要把别人拉下水?这什么心态 为什么用围巾救人会被拉下水 做梦梦到被老板拉下水什么意思 ‘女孩子被拉下水’这是什么意思?那位高手回答下 我不小心把文件乱移 如何把它恢复到原来的样子 为什么有的人拉别人下水然后还说别人不好? 男子用230万贿款将安徽11名*拉下水,你如何看待此男子的行为? 什么是“拉你下水,还踩你一脚”?具体是什么事情?举个例子? 吃泻药拉下水水有事吗 《扫黑风暴》中,贺芸被拉下水,全是孙兴造成的吗? 有没有被别人拉下水的经历? 在情商中拉下水是指什么? 拉下水 的 拼音 是 W,Y,J是787什么舱 华为一体机摔了一下不能开机是怎么办 我的注销了,对方还会有我们的聊天记录吗? 华为一体机死机无论怎样重启都是开机画面怎么办? 被注销了,最近联系好友都删了请问一下怎么找回来? 注销后还会存在别人的好友列表吗? 我把注销后对方发消息给我会显示什么? 如果我的注销后,好友微信里还有我么? 逍遥江湖的小说目录 求爱情题材的诗句(古代) 左拥右抱造句,左拥右抱怎么造句 我的艳遇快来,我该不该动手呢? 李花盛放齐争艳,利亭花下汉衣关.时逢六月蝶双飞,几时与君共相依. 艳遇国度txt全集下载 关汉卿.蝶双飞中表现了关汉卿的什么品质 用什么样的泥土种花最好? 泥炭土种花时间长了需更换吗 教育的重要性英语 为什么你认为教育对你很重要用英文回答这个问题 谈论受教育的重要性的英语作文 急求英文作文:教育对社会的作用或者是影响、贡献 急求,在线等