所以这应该是非常基本的,我几乎可以肯定我错过了一些东西,因为我设法编写了更复杂的代码......
代码应该采用正整数并将每个数字与其邻居的平均值写入,用户给出的整数至少为 2 个整数。
所以如果用户给出 a1 a2 a3 a4 输出将是“(a1+a2)/2, (a1+a2+a3)/3,(a2+a3+a4)/3,(a3+a4)/2"但它不限于4个数字,它可以更少或更多。
问题是,当我只有 a1 a2 时,输出是 (a1 +a2)/2, (a1 + a2)/2 代码应该知道是否有 a3,然后决定如何计算第二个? 我确定我在这里遗漏了一些东西,我不知道......我不应该使用比基本更多的东西,我写了一些计算 a1 和 a2 的东西,以防只有输入(a1,a2 ) 但这显然是错误的,因为代码不适用于 a1、a2、a3 等等......
我正在输入代码,尽管它并不接近解决方案,并且即使它的作用也没有被完善:
#include <stdio.h>
int main()
{
float num=0.0,num2=-1, nextnum=-1,nextnext=-1, after=0.0,after2=0.0;
do {
scanf("%f", &num);
if (num2==-1)
{
scanf("%f", &num2);
after=num+num2 ;
nextnum=num2;
printf("%4g" , (after/2) );
}
after=num+nextnum ;
nextnum=num;
printf("%4g" , (after/2));
}
while (num>0);
return 0;
}
任何形式的帮助/建议/指导都会很高兴地被接受..