c - C# 函数,它接受值并打印出一个 11x11 的值网格,范围为 -1 到 1
问题描述
目前正在学习 C 并且在我正在研究的教科书问题中我遇到了低迷。问题是定义一个返回值 x^2 - y^2 的函数,并使用函数为 x 和 y 的值从 -1 到 1 打印出 11 x 11 网格。我能够完成第一行,但我在其他行遇到问题。这个问题的正确输出是
0.00 0.36 0.64 0.84 0.96 1.00 0.96 0.84 0.64 0.36 0.00
-0.36 0.00 0.28 0.48 0.60 0.64 0.60 0.48 0.28 0.00 -0.36
-0.64 -0.28 0.00 0.20 0.32 0.36 0.32 0.20 -0.00 -0.28 -0.64
-0.84 -0.48 -0.20 0.00 0.12 0.16 0.12 -0.00 -0.20 -0.48 -0.84
-0.96 -0.60 -0.32 -0.12 0.00 0.04 -0.00 -0.12 -0.32 -0.60 -0.96
-1.00 -0.64 -0.36 -0.16 -0.04 0.00 -0.04 -0.16 -0.36 -0.64 -1.00
-0.96 -0.60 -0.32 -0.12 0.00 0.04 0.00 -0.12 -0.32 -0.60 -0.96
-0.84 -0.48 -0.20 0.00 0.12 0.16 0.12 0.00 -0.20 -0.48 -0.84
-0.64 -0.28 0.00 0.20 0.32 0.36 0.32 0.20 0.00 -0.28 -0.64
-0.36 0.00 0.28 0.48 0.60 0.64 0.60 0.48 0.28 0.00 -0.36
0.00 0.36 0.64 0.84 0.96 1.00 0.96 0.84 0.64 0.36 0.00
到目前为止,在我的代码中我有
double y=1;
int count =0;
double xSq;
double origX = x;
double origY = y;
double ySq;
xSq = x * x;
ySq = y * y;
double update;
for (int i =0; i < 11; i++){
double sum = xSq - ySq;
printf("%f\t", sum);
count++;
y = y - 0.2;
ySq = y * y;
}
解决方案
我认为他们希望你做的事情是不同的。他们希望您首先创建一个返回正方形之间差异的函数。
然后,他们希望您从 2 级循环(在 main 中)中使用该函数,该函数分别改变 x 和 y 的值。
x 和 y 的值分别从 -1 到 +1。
在 2 级循环中,您将使用 x、y 的当前值调用您的函数并获得结果。然后,您将打印 x、y 和结果。
您将弄清楚如何在循环的一级之后添加一行,以便获得行。
推荐阅读
- html - 如何将父 div 缩小到其子级的大小?
- javascript - 在 JavaScript 中从单个数组创建 3 个不同的数组
- javascript - 动态 React 路径路由与 url 不匹配,但在重新加载时匹配
- c# - Nuget 包未安装在框架 4.6.1 VS 2017 中
- asp.net - 下载文件并打开它而不将其保存在下载文件夹中
- sublimetext3 - Sublime 文本语法高亮
- bash - git pull in 脚本后检查冲突
- angular - 表单控件上的角度模式验证失败,直到您编辑该字段
- android - 如何通过传递参数从离子混合应用程序打开本机自己的android应用程序
- python - 如何修复 scipy 的 odeint 函数中的 np.float64 不可调用错误?