1.程序设计题:如下
2.代码+解析:
#include <stdio.h>
#include <math.h>
float f(int x, int n) {//定义f函数
int i; float s=0;//设定s的初始值=0
for ( i = 1; i <= n; i++)
{ //使用for循环遍历公式得到想要的值
s += (float)pow(x, i) / i;//pow(x, i)表示为x的i次方
//pow是C语言中的一个数学函数,它存在于math.h库中
//函数原型为:double pow(double x, double y);作用是计算一个数的幂
//因为s是float所以需要强制转型
printf("此时i值为:%d\n",i);
printf("此时s值为:%.2f\n",s);
}
return s;//一整轮for循环结束后再输出s的值
}
int main() {//编写主函数
int x, n;
float s;
//当输入x=2,n=3时
printf("请输入x和n的值:\n");
scanf_s("%d%d", &x, &n);
s = f(x, n);//调用f函数
printf("结果是%.2f\n", s);//输出结果并保留2位小数
}
3.输出结果如下图所示: