标题:浮点数取不了余数该怎么办?
只看楼主
夏木。
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:21
专家分:5
注 册:2017-10-13
结帖率:66.67%
已结贴  问题点数:8 回复次数:2 
浮点数取不了余数该怎么办?
#include "stdio.h"
main()
{
  int a,b,S;
  float c,d,X,P,Q,R;
  printf("请输入两个整数和两个浮点数:");               //a=1 b=2 c=3 d=4
  scanf("%d%d%f%f",&a,&b,&c,&d);
  X=a+b+c+d;                                          
  printf("%d%d%f%f=%f\n",a,b,c,d,X);                    //X=10  
  P=(a+b+c)-d;
  printf("(%d+%d+%f)-%f=%f\n",a,b,c,d,P);               //P=2
  Q=(a+b+c)*d;
  printf("(%d+%d+%f)*%f=%f\n",a,b,c,d,Q);              //Q=24
  R=(a+b+c)/d;
  printf("(%d+%d+%f)/%f=%f\n",a,b,c,d,R);              //R=1.5
  S=(a+b+c)%d;     //【浮点数取不了余数该怎么办?
  printf("(%d+%d+%f)%%f=%d\n",a,b,c,d,S);              //S=2
  return 0;
}
搜索更多相关主题的帖子: 浮点数 printf 输入 scanf return 
2017-10-18 00:08
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:8 
要用库函数fmodf、fmod或fmodl。因为%是整型取余操作符,要求两边都是整型数才行,结果也是整型;fmodf用于float型变量操作,fmod用于double型变量操作,fmodl用于long double型变量操作
程序代码:
#include "stdio.h"
#include "math.h"
int main(void){
    double f=3.3,q=2.2;
    printf("%f\n",fmod(f,q));
    return 0;
}

printf("(%d+%d+%f)%%%f=%d\n",a,b,c,d,S);  少一个%

早知做人那么辛苦!  当初不应该下凡
2017-10-18 00:28
夏木。
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:21
专家分:5
注 册:2017-10-13
得分:0 
回复 楼主 夏木。
谢谢

用心去做,用力去拼。
2017-10-18 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481508-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.681882 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved