sprintf函数中的格式 "%%0%dd" 是什么意思?
2个回答
展开全部
//https://www.nowcoder.com/acm/contest/85/A
#include <stdio.h>
#include <math.h>
#define E exp(1)
int main()
{
int T, a, b, r, i;
double result, e;
char str[10];
e = exp(1);
scanf("%d", &T);
for (i = 0; i < T; i++) {
scanf("%d%d%d", &a, &b, &r);//r是自定义小数点后位数
result = pow(e, a);
result *= b;
sprintf(str, "%%.%df\n", r);//把%.rf\n放入str里面,注意,此时str[0]是%(转义的百分号),str[1]是
.(小数点),str不包含引号,包含换行(换行位是一个字符,ASCII为10)
// printf("%s",str);
printf(str,result); //str代替"%.rf\n"
//例如r=3,意思就是printf("%.3f",str);
// printf("%.*f\n", r, result); //和上面功能一样,就是把r放进*的位置
}
return 0;
}
以上代码实现,输入自定义小数点长度,附上题目和运行结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询