本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。
输入格式:
输入在一行中给出正整数n(≤10)。
输出格式:
按照格式“result = 计算结果”输出。
输入样例:
5
输出样例:
result = 62
# include <stdio.h>
# include <math.h> //或者# include <cmath>
int main()
{
int n, i,sum_int=0;
float sum_float=0;
printf("求2的幂之和,请输入正整数n:");
scanf_s("%d", &n);
for (i = 1; i <= n; i++)
{
/*使用pow函数之前要先include相关头文件 # include <math.h>或 #include <cmath>,
因为pow函数的原型为double pow(double x, double y),所以pow( )函数的返回值为double类型,
用int类型接受pow(2,i)会截断小数点后的部分,用float类型的接收则不会*/
sum_int += pow(2, i);//sum_int为int类型,会把小数点后部分截断
sum_float += pow(2, i);//sum_float为float类型
}
printf("result(sum_int)=\t%d\n",sum_int);
//sum_float为float类型,会printf出小数点后的部分,所以可用%.0f只输出整数的部分
printf("result(sum_float)=\t%.0f\n", sum_float);
/*如果用printf("result=%d", sum_float); 将输出0,因为打印格式的% d和sum_float的格式不同,
前者%d为int类型,后者sum_float在printf中float类型会自动转换为double类型 */
return 0;
}
参考链接: