c - main 内部的纯函数没有按照我的意图获取和处理 x 的单个值
问题描述
- 在 main() 中编写一个纯函数,用于计算正态分布方程。
- 向用户询问公式中保持不变的 2 个变量
- 每次将 x 发送到函数中时,向用户询问其值需要更改的 N 个值。
- 对于每个不同的 x,它会打印出 "F(x) = " + 计算结果。
我已经尝试指向变量 x 并在 for 循环中声明它,我相信这是我的范围或函数声明的问题。我不明白为什么我的教授要求我们在 main() 中声明该函数,而我使用过的所有其他编程语言都是在外部完成的。我相信他试图教我们一些关于范围的知识,但到目前为止,它只是让我对什么是错的什么是对的感觉变得混乱了。任何帮助将不胜感激我一直在玩这个东西几个小时!真诚的,JJC
int main(void)
{
const double sigma, mu;
double x;
int no_x;
double normal(x, sigma, mu)
{
return (x * sigma * mu);
}
printf("Enter mean u: ");
scanf("%lf", &mu);
printf("Enter standard deviation: ");
scanf("%lf", &sigma);
if(sigma == 0)
{
printf("error you entered: 0");
exit(0);
}
printf("Number of x values: ");
scanf("%d", &no_x);
for(int i = 1; i <= no_x; i++)
{
printf("x value %d : ", i);
scanf("%lf", &x);
printf("f(x) = : ");
normal(x,sigma,mu);
printf("");
printf("\n");
}
return 0;
}
预期成绩
C:\>.\a.exe
Enter mean u: 3.489
Enter std dev s: 1.203
Number of x values: 3
x value 1: 3.4
f(X) = 0.330716549275
x value 2: -3.4
f(X) = 0.000000025104
x value 3: 4
f(X) = 0.303015189801
解决方案
你放弃了回报normal
尝试:
x = normal(x,sigma,mu);
和/或将返回传递给调用printf
(使用适当的格式)
推荐阅读
- javascript - 如何切换 nativeElement
- c++ - Qt中的自动排他工具按钮
- ansible - Ansible 如何使用循环在一台主机上同时运行多个任务
- angular - 派生类测试。失败:无法解析所有参数:(?,?)(Angular 5)
- python - 值列表彼此的余弦相似度
- java - Android可以将图像作为输入流插入吗?
- javascript - 重定向我的 js 代码后,我刷新页面后才起作用
- javascript - 如何在javascript中从“datetime-local”转换为mysql.Timestamp
- excel - 如何将数组中的数据传递到html正文的一部分
- android - android.view.ContextThemeWrapper 无法转换为 android.app.Activity