gpt4 book ai didi

c - 几何序列打印……吓坏了

转载 作者:行者123 更新时间:2023-11-30 20:36:56 29 4
gpt4 key购买 nike

我的教授给了我这个不完整的代码来填写内容..答案是,如果我输入命令提示符,它应该准确地显示 3+ 6+ ... +48 = 93。所以我输入了我的答案。见下文

命令提示符

3 2 5(输入。3 = 第一个数字。2 = 乘法数字。n= 元素数量)

3 + 6 + 12 + 24 + 48 = 93

如果你想继续。巴拉巴拉……

<小时/>

下面的问题。

#include <stdio.h>

int main(void)
{
int a, r, n;
int s, ai, i;

scanf("%d%d%d", &a, &r, &n);

s = 0;
ai = a;
for (i = 0; _________) {
_____________________
_____________________
_____________________
______________________
}
printf(" = %d\n", s);
return 0;
}
<小时/>

我的回答!!!

#include <stdio.h>

int main(void)
{
int a, r, n;
int s, ai, i;

scanf("%d%d%d", &a, &r, &n);

s = 0;
ai = a;
for (i = 0; i < n; i++) {
if (i != n - 1)
printf("%d + ", ai = ai*r*(i));
else printf("%d", ai);
s += ai;
}
printf(" = %d\n", s);
return 0;
}

你看,我对“+”的事情没有遇到麻烦,因为对于最后一个元素,它不需要在数字后面有“+”号。所以我可以输入 (i!=n-1) 来产生影响。总而言之,您可以轻松获得它。一切都很好......直到我发现 (i=0) 无法更改,并且无法使用计算等比数列特定元素的公式,因为公式通常是 a = ar (i-1)。所以我尝试了另一种方法,例如“ai = ai + r*i”,但这使元素之和,而不是单个... i=0 对我来说很困难,我什至无法更改它...他会将其标记为错误。 “for”循环内不完整的行应该正好是 4 行! (所以即使我在一行中制作了“else”和“else条件”以使其成为4行......

有什么建议吗?

最佳答案

可能有不同的变体,这是其中之一:

for (i = 0; i < n; i++) {
printf("%s", i==0 ? "" : " + ");
printf("%d", ai);
s += ai;
ai *= r;
}

另一种变体是将计算移入循环:

for (i = 0; i < n; i++, s += ai, ai *= r) {
if (i > 0)
printf(" + %d", ai);
else
printf("%d", ai);
}

关于c - 几何序列打印……吓坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503647/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com