PTA中的一个关于指针的一个语法小问题

欠债的脱水橘猫 2019-12-16 04:04:04
我的逻辑和电脑的逻辑对不上。各位大佬,本白菜要炸了,求个各路大佬走过路过救我一命,祝大佬年年有余,万福金安啊!

拆分实数的整数与小数部分 (15分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。
函数接口定义:

void splitfloat( float x, int *intpart, float *fracpart );

其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。
拆分实数的整数与小数部分 (15分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。
函数接口定义:

void splitfloat( float x, int *intpart, float *fracpart );

其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。
void splitfloat( float x, int *intpart, float *fracpart ){
if(*fracpart<=0.0&&*intpart>=0){
x=*intpart+*fracpart;//为什么我的这个方式不行呢?
}
}
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 真相重于对错 的回复:
据上面所说
这个函数应该是把 x 拆成 intpart 和 fracpart两部分
你的代码是把后面两部分相加。
逻辑错误
类似
比如X=5.2
那么 intpart =5 fracpart=0.2;
了解了,俺把他变成这样就对了,
void splitfloat( float x, int *intpart, float *fracpart ){
if(*fracpart<=0.0&&*intpart>=0){
*intpart=x-*fracpart;
*fracpart=x-*intpart;
}
}
谢谢大佬,大佬天天开心啊
真相重于对错 2019-12-16
  • 打赏
  • 举报
回复
据上面所说 这个函数应该是把 x 拆成 intpart 和 fracpart两部分 你的代码是把后面两部分相加。 逻辑错误 类似 比如X=5.2 那么 intpart =5 fracpart=0.2;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧