sprintf函数中的格式 "%%0%dd" 是什么意思?

 我来答
wdmzjcsl
推荐于2017-11-25 · TA获得超过234个赞
知道答主
回答量:391
采纳率:0%
帮助的人:203万
展开全部
首先“%%”表示在控制台输出一个“%”,注意是一个百分号,相当于转义,然后0相当于一个字符输出,后面“%d”表示输入一个十进制整数,最后一个“d”也作字符输入,假设你在函数中要输出一个整数5。
int x = 5;
printf("%%0%dd",x);
输出结果为:%05d
greattangchuqi
2018-03-21 · TA获得超过930个赞
知道小有建树答主
回答量:2517
采纳率:40%
帮助的人:550万
展开全部
//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;
}

以上代码实现,输入自定义小数点长度,附上题目和运行结果

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式