保留小数点后x位

喜爱ACM的PBY同学遇到了一道数学难题,已知底数n,请你帮他准确的计算出结果a = n^π(n的π次方),结果保留小数点后x位。

输入描述:

第一行是一个整数t,表示测试实例的个数;

然后是t行输入数据,每行包含两个正整数n和x,表示底数和保留位数

 

(1 <= t <= 100,1 <= n <= 500,1 <= x <= 6)

输出描述:

对于每组输入数据,分别输出结果a,每个输出占一行。

示例1

输入  3

1 3

7 6

9 1

输出

1.000

451.807873

995.0

代码:

#include<iostream>

#include<stdio.h>

#include<math.h>

#include<algorithm>

using namespace std;

#define PI 3.1415926//定义PI

int main()

{

    int t,x;

    double n;

    double a;

    cin>>t;

    while(t--)

    {

        cin>>n>>x;

        printf("%.*f\n",x,pow(n,acos(-1)));

    }

    return 0;

}

在scanf里,这个星号表示scanf读取并抛弃此种类型的输入,比如:
char a[64];scanf("%*f%s", a);puts(a);你输入:123.456qqq,只有qqq被读到a里,123.456被读取并丢弃了。
在printf里,如果任何一个合法的格式化符%后有*号的话,则在其对应的参数前面还需要另一个int型参数来标示其宽度,相当于printf("%3f", 1.2)中的数字3,比如:
pritf("%0*d", 4, 1); // 输出0001但是对于浮点类型来说,如果在宽度和精度的地方都有*的话(就是在.的左右两边),则需要2个int来分别指示其宽度和精度:printf("%0*.*f", 12, 7, 123.456789); // 输出0123.4567890

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值