/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:根据整型形参m,计算如下公式的值: y=1+1/3+1/5+1/7+...+1/(2m-3) ------------------------------------------------------*/ #include <stdio.h> double fun(int m) { /**********FOUND**********/ double y=1; int i; /**********FOUND**********/ for(i=0; i<=m; i++) /**********FOUND**********/ y+=1.0/(2*i-3); return(y); } void main() { int n; printf("Enter n: "); scanf("%d", &n); printf("\nThe result is %1f\n", fun(n)); }
时间: 2023-07-05 10:35:31 浏览: 53
这段代码中存在以下问题:
1. 在 for 循环中,i 的初始值应该为 1,而不是 0,因为公式中分母的值从 1 开始。
2. 在 for 循环中,循环条件应该是 i<=2*m-1,而不是 i<=m,因为公式中分母的值为 2i-1,当 i=m 时分母应为 2m-1,而不是 2m-3。
3. 在 printf 函数中,格式控制符应为 %f,而不是 %1f。
修改后的代码如下:
```c
#include <stdio.h>
double fun(int m)
{
double y = 1;
int i;
for(i = 1; i <= 2 * m - 1; i++)
y += 1.0 / (2 * i - 1);
return y;
}
void main()
{
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %f\n", fun(n));
}
```
相关问题
pyinstaller: error: unrecognized arguments: --add-dateimages/*;video/*;music/*-F
看起来你在命令行中使用了 `--add-date` 而不是正确的 `--add-data` 参数。请将命令中的 `--add-date` 修改为 `--add-data`,并且将参数值中的 `date` 改为正确的 `data`,如下所示:
```
pyinstaller --add-data "images/*;video/*;music/*" -F your_script_name.py
```
这个命令将会把 `images`、`video` 和 `music` 文件夹中的所有文件都打包到可执行文件中。`-F` 参数表示将所有依赖项都打包到一个单独的可执行文件中。
请注意,在命令行中使用 `--add-data` 参数时,需要将参数值用双引号括起来,并在路径中使用正斜杠(`/`)而不是反斜杠(`\`),否则 Windows 可能无法正确解析路径。
我想补齐每一行对称的-代码该怎么写--* -*** ***** -*** --*
以下是补齐每一行对称的代码:
```python
n = 5
for i in range(n):
if i < n//2:
print('-'*(n//2-i) + '*'*(2*i+1) + '-'*(n//2-i))
else:
print('-'*(i-n//2) + '*'*(2*(n-i)-1) + '-'*(i-n//2))
```
输出结果为:
```
--*--
-***-
*****
-***-
--*--
```