#include
#include
#include
int main()
{
char a[40];
char b[20],c[20];
int e,r;
scanf("%s",&a);
sscanf(a,"%[^.].%s",b,c);
e=atol(b);
r=atol(c);
printf("%d\.%d",r,e);
return 0;
}
参考:
#include
#include
#define PLACES 3
void extract(double x)
{
char buf[PLACES+10];
int a, b;
sprintf(buf, "%.*f", PLACES, x);
sscanf(buf, "%d.%d", &a, &b);
int n = (int) pow(10, PLACES);
printf("Number : %.*f\n", PLACES, x);
printf(" Integer : %d\n", a);
printf(" Fractional part: %d over %d\n", b, n);
}
int main()
{
extract(1.1128);
extract(20.0);
extract(300.000512);
}
#include
int main()
{
int integer,decimal;
scanf("%d.%d",&integer,&decimal);
printf("%d.%d",decimal,integer);
return 0;
}
输出结果用整数型的输出方式就好了。