gpt4 book ai didi

c - 在 C 编程中动态填充数组

转载 作者:行者123 更新时间:2023-11-30 15:15:14 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <math.h>

int iii;
double E_[100], t_[100], length, lowest_temp, acceptance;

int main(int argc, char *argv[]) {


length=(double)20;


lowest_temp=(double)0.20; /* setting lowest temperature */
acceptance=(double)0.50; /* Acceptance i--> j */
E_[10]=(double)1.3; /*starting E */
t_[0]=lowest_temp;

for(iii>=11;iii<=length-1;iii++){/*CB2*/
E_[10]=1.3;
E_[iii]=E_[iii-1]+(E_[iii-1]/10);
/*Can change 10 to other percentage or random number */

printf("E_[%i]=%f\n",iii,E_[iii]);
}/*CB2*/

for(iii<=9;iii>=0;iii--){/*CB3*/

E_[10]=1.3;
E_[iii]=E_[iii+1]-(E_[iii+1]/10);
printf("E_[%i]=%f\n",iii,E_[iii]);
}/*CB3*/

for(iii=0;iii<=length-1;iii++){/*CB4*/

t_[iii+1]=-((int)1/(t_[iii]))-(log(acceptance)/(E_[iii]+E_[iii+1]));

printf("t_[%i]=%f\n",iii,t_[iii]);

}/*CB4*/

当我运行代码时,我得到以下打印结果:

E_[0]=0.000000
E_[1]=0.000000
E_[2]=0.000000
E_[3]=0.000000
E_[4]=0.000000
E_[5]=0.000000
E_[6]=0.000000
E_[7]=0.000000
E_[8]=0.000000
E_[9]=0.000000
E_[10]=0.000000
E_[11]=1.430000
E_[12]=1.573000
E_[13]=1.730300
E_[14]=1.903330
E_[15]=2.093663
E_[16]=2.303029
E_[17]=2.533332
E_[18]=2.786665
E_[19]=3.065332
E_[20]=0.000000
E_[19]=0.000000
E_[18]=0.000000
E_[17]=0.000000
E_[16]=0.000000
E_[15]=0.000000
E_[14]=0.000000
E_[13]=0.000000
E_[12]=0.000000
E_[11]=0.000000
E_[10]=0.000000
E_[9]=1.170000
E_[8]=1.053000
E_[7]=0.947700
E_[6]=0.852930
E_[5]=0.767637
E_[4]=0.690873
E_[3]=0.621786
E_[2]=0.559607
E_[1]=0.503647
E_[0]=0.453282
t_[0]=0.200000
t_[1]=-4.275654
t_[2]=0.885794
t_[3]=-0.542211
t_[4]=2.372348
t_[5]=0.053720
t_[6]=-18.187354
t_[7]=0.439930
t_[8]=-1.926635
t_[9]=0.830847
t_[10]=-0.922965
t_[11]=1.616655
t_[12]=inf
t_[13]=inf
t_[14]=inf
t_[15]=inf
t_[16]=inf
t_[17]=inf
t_[18]=inf
t_[19]=inf

我的目标是使用计算出的 E_[iii] 数组填充 t_[iii] 数组。为了生成 E_[iii] 数组,我从代码中的其他位置获取预先存在的 E_[iii] 值(本例中为 1.3),然后在其两侧创建大于 E_ 的 E_[iii>10] 值[10] 以及相应的下面创建的 E_[iii<10] 值小于 E_[10]。

我随意将相邻 E 值设置为低百分之十。使用这个我成功地生成了 E_[10] 两侧的正确值,但是我无法在同一循环中生成它们,并且从打印输出中可以看出,它似乎将未使用的 iii 索引重置为零。

非常感谢您在这个问题上的任何帮助!

最佳答案

一个问题:for循环初始化。在CB2CB3iii>=11iii<=9表达式不初始化 iii .

关于c - 在 C 编程中动态填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693857/

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