输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数n。
输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。
输入样例:
3
输出样例:
pow(3,0) = 1
pow(3,1) = 3
pow(3,2) = 9
pow(3,3) = 27
代码:
#include <stdio.h>
#include <math.h>
int main (void){
int n, i, y;
scanf("%d", &n);
for(i = 0; i <= n; i++){
y = pow(3,i);
printf("pow(3,%d) = %d\n", i, y);
}
return 0;
}
有一个很有意思的地方:如果去掉y,变成 printf("pow(3, %d) = %d\n", i, pow(3, i)); 就会显示0.
为什么呢?
因为pow是double类型的,要搭配%f才行。前面是%d的话,就出错了。
而y = pow(3, i); 这一步将double类型的值自动转换为int类型。所以就能正常输出。