Poppet @ 2022-10-09 20:04:26
本人列举的数据为整数部分相同 ,小数部分从1至9的数据
问题出在第三个for循环
如下代码只能通过小数部分是奇数(除0)的数据
#include<stdio.h>
int main()
{
int b,c,d,e=0;
double a;
scanf("%lf",&a);
for(b=0;a>=100;a=a-100.0){
b++;
}
for(c=0;a>=10;a=a-10.0){
c++;
}
for(d=0;a>=1;a=a-1.0){
d++;
}
**for(e=0;a>=0.1;a=a-0.1){
e++;
}**
printf("%d.%d%d%d",e,d,c,b);
return 0;
}
如下代码可通过的数据和上述代码完全相反(除0)
#include<stdio.h>
int main()
{
int b,c,d,e=0;
double a;
scanf("%lf",&a);
for(b=0;a>=100;a=a-100.0){
b++;
}
for(c=0;a>=10;a=a-10.0){
c++;
}
for(d=0;a>=1;a=a-1.0){
d++;
}
**for(e=0;a>0.0;a=a-0.1){
e++;
}**
printf("%d.%d%d%d",e,d,c,b);
return 0;
}
小数部分为零的数据均可通过
调试过程中出现计算小数部分为0.1,实则计算机运算为0.0999999999999的现象 求助这种问题如何解决
求助 for循环无法通过这道题吗
by Poppet @ 2022-10-09 20:48:40
@chenhaofeng 谢谢
by Poppet @ 2022-10-09 20:49:27
@ud2_ 谢谢