问题遇到的现象和发生背景 我想让这个程序输出小数点后四位分别是多少,但是小数点后第四位有时候能正常输出,有时候和第三位一样,还有我输入一个不在if条件里的数,为什么还是能输出呀,如下图。大一新生导师留的qwq.(因有重复词汇f,所以改了一下下,和照片有一点点不一样。)
用代码块功能插入代码,请勿粘贴截图/该程序的目的是输入一个大于1000.0小于10000.0的数,输出个十百千小数点后四位分别是什么/
#include <stdio.h>
int main()
{
int a,b,c,d,h,k,l,m,n;
double e,w;
scanf("%lf",&e);
if(e>1000.0&&10000.0)
{ a=(e/1000);
b=((e-a1000)/100);
c=((e-a1000-b100)/10);
d=((e-a1000-b100-c10)/1);
h=(int)e;
w=e-h;
k=w10;
l=w100-k10;
m=w1000-k100-l10;
n=w10000-k1000-l100-m10;
printf("千位数字%d\n",a);
printf("百位数字%d\n",b);
printf("个位数字%d\n",c);
printf("十位数字%d\n",d);
printf("小数点后第一位是%d\n",k);
printf("小数点后第二位是%d\n",l);
printf("小数点后第三位是%d\n",m);
printf("小数点后第四位是%d\n",n);
}
else
printf("输入错误\n");
return 0;
}
运行结果及报错内容


