我的和差函数解决方案不起作用
My solution for a sum-difference function isn't working
我正在尝试编写一个循环函数,returns 给定正整数 nVal 的计算结果。
给定 nVal,函数计算 1 + 2 - 3 + 4 - 5 + ... + nVal。因此,例如,如果 nVal = 4,函数 returns 1 + 2 - 3 + 4 的结果。我所做的解决方案没有正确循环 nVal,我不知道如何修复它。
有什么我可以尝试的修复方法吗?
到目前为止,这是我的代码(顺便说一下,我使用的是 C 语言):
#include <stdio.h>
int getValue (nVal)
{
int i, nResult = 0;
for (i = nVal; i <= nVal; i++)
{
if (i % 2 == 0)
{
nResult += i;
}
else if (i % 2 == 1)
{
nResult -= i;
}
}
if (nVal == 1)
nResult +=i + 1;
return nResult;
}
int main ()
{
int nVal, nResult;
printf ("Enter n value: ");
scanf ("%d", &nVal);
nResult = getValue(nVal);
printf ("Result: %d", nResult);
return 0;
}
因为数字是连续的,我去掉了if elseif语句,我用变量k将'+'反转为'-',我的循环从2开始到nVal
你的循环
for (i = nVal; i <= nVal; i++)
仅运行 1 次
所以,你应该把它改成
for (i = 2; i <= nVal; i++)
and (nResult=1)因为在你的练习中符号从第三个数字开始改变,而不是从第二个数字开始改变
此处:
if (nVal == 1)
nResult +=i + 1;
如果我写为 1 输入,输出为 2,我删除这一行
我的代码:
#include <stdio.h>
int getValue (nVal)
{
int i, nResult = 1;
int k=1;
for (i = 2; i <= nVal; i++)
{
nResult+=i*k;
k*=-1;
}
return nResult;
}
int main ()
{
int nVal, nResult;
printf ("Enter n value: ");
scanf ("%d", &nVal);
nResult = getValue (nVal);
printf ("Result: %d", nResult);
return 0;
}
我正在尝试编写一个循环函数,returns 给定正整数 nVal 的计算结果。
给定 nVal,函数计算 1 + 2 - 3 + 4 - 5 + ... + nVal。因此,例如,如果 nVal = 4,函数 returns 1 + 2 - 3 + 4 的结果。我所做的解决方案没有正确循环 nVal,我不知道如何修复它。
有什么我可以尝试的修复方法吗?
到目前为止,这是我的代码(顺便说一下,我使用的是 C 语言):
#include <stdio.h>
int getValue (nVal)
{
int i, nResult = 0;
for (i = nVal; i <= nVal; i++)
{
if (i % 2 == 0)
{
nResult += i;
}
else if (i % 2 == 1)
{
nResult -= i;
}
}
if (nVal == 1)
nResult +=i + 1;
return nResult;
}
int main ()
{
int nVal, nResult;
printf ("Enter n value: ");
scanf ("%d", &nVal);
nResult = getValue(nVal);
printf ("Result: %d", nResult);
return 0;
}
因为数字是连续的,我去掉了if elseif语句,我用变量k将'+'反转为'-',我的循环从2开始到nVal
你的循环
for (i = nVal; i <= nVal; i++)
仅运行 1 次
所以,你应该把它改成
for (i = 2; i <= nVal; i++)
and (nResult=1)因为在你的练习中符号从第三个数字开始改变,而不是从第二个数字开始改变
此处:
if (nVal == 1)
nResult +=i + 1;
如果我写为 1 输入,输出为 2,我删除这一行
我的代码:
#include <stdio.h>
int getValue (nVal)
{
int i, nResult = 1;
int k=1;
for (i = 2; i <= nVal; i++)
{
nResult+=i*k;
k*=-1;
}
return nResult;
}
int main ()
{
int nVal, nResult;
printf ("Enter n value: ");
scanf ("%d", &nVal);
nResult = getValue (nVal);
printf ("Result: %d", nResult);
return 0;
}