64,637
社区成员
发帖
与我相关
我的任务
分享
//很多的double型的数据,比如
//100
//23.1
//43.23
//59
//0.34
//0
//要求通过sprintf的格式串控制,输出为
//100.0
//23.1
//43.23
//59.0
//0.34
//0.0
#include <stdio.h>
char ds[80];
void mysprintf(double db) {
int w;
w=1;
if ((int)(db*100.0)%10!=0) w=2;
sprintf(ds,"%.*lf",w,db);
}
void main() {
double d;
d=100 ;mysprintf(d);printf("%s\n",ds);
d=23.1 ;mysprintf(d);printf("%s\n",ds);
d=43.23;mysprintf(d);printf("%s\n",ds);
d=59 ;mysprintf(d);printf("%s\n",ds);
d=0.34 ;mysprintf(d);printf("%s\n",ds);
d=0 ;mysprintf(d);printf("%s\n",ds);
}
//100.0
//23.1
//43.23
//59.0
//0.34
//0.0