为什么输入10433 60输出的是0.000%而不是0.575%?

#include
#include
using namespace std;
int main(){
int a,b;
double c;
cin>>a>>b;
c=b*100/a;
printf("%.3f%%",c);
}


c=b*100*1.0/a;

img

因为你的是整数除法,结果只能是整数
虽然你的c是double型,但是也是把整数赋值给c
想保留小数,你需要这样
c=b*100.0/a;

因为整型除以整型得到的结果默认为整型哟,要是需要输出为double类型的话,建议可以将被除数即你的a强制转化成double类型