c语言 double类型保留小数问题
用户输入希望保留小数的位数,1到16,怎么实现intmain(){doublea=1.123456789123456789;charstr1[]="%.lf\n";whi...
用户输入希望保留小数的位数,1到16,怎么实现
int main(){
double a = 1.123456789123456789;
char str1[] = "%. lf\n";
while(1){
scanf("%c%c%*c",str1+2,str1+3);
printf(str1,a);
}
/*
char ch[] = "abcdef";
scanf("%*c%c",&ch);
printf("%s\n",ch);
return 0;
*/
}
我写的是两位数的,注释掉的是一位数的
不知道如何实现判定输入的是一位数还是两位数
上面的代码错了。。。
#include <stdio.h>
int main(){
double a = 1.123456789123456789;
char str1[] = "%. lf\n";
while(1){
scanf("%c%c%*c",str1+2,str1+3);
printf(str1,a);
}
/*
char str1[] = "%. lf\n";
while(1){
scanf("%c%*c",str1+2);
printf(str1,a);
}
*/
return 0;
} 展开
int main(){
double a = 1.123456789123456789;
char str1[] = "%. lf\n";
while(1){
scanf("%c%c%*c",str1+2,str1+3);
printf(str1,a);
}
/*
char ch[] = "abcdef";
scanf("%*c%c",&ch);
printf("%s\n",ch);
return 0;
*/
}
我写的是两位数的,注释掉的是一位数的
不知道如何实现判定输入的是一位数还是两位数
上面的代码错了。。。
#include <stdio.h>
int main(){
double a = 1.123456789123456789;
char str1[] = "%. lf\n";
while(1){
scanf("%c%c%*c",str1+2,str1+3);
printf(str1,a);
}
/*
char str1[] = "%. lf\n";
while(1){
scanf("%c%*c",str1+2);
printf(str1,a);
}
*/
return 0;
} 展开
展开全部
1
1.1
1.12
1.123
1.1235
1.12346
1.123457
1.1234568
1.12345679
1.123456789
1.1234567891
1.12345678912
1.123456789123
1.1234567891235
1.12345678912346
1.123456789123457
1.1234567891234568
Press any key to continue
#include <stdio.h>
main()
{
int i;
double a = 1.123456789123456789;
for (i=0;i<17;i++)
printf("%.*lf\n",i,a);
}
1.1
1.12
1.123
1.1235
1.12346
1.123457
1.1234568
1.12345679
1.123456789
1.1234567891
1.12345678912
1.123456789123
1.1234567891235
1.12345678912346
1.123456789123457
1.1234567891234568
Press any key to continue
#include <stdio.h>
main()
{
int i;
double a = 1.123456789123456789;
for (i=0;i<17;i++)
printf("%.*lf\n",i,a);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询