我是新来的。我有这段代码,其中每个数组的元素都由3供电,从而产生类似3pow0、3pow1、3pow2、3pow3等的结果:

#include    <stdio.h>
#include    <stdlib.h>

int main(void){

    const int n = 10;
    int pwr[n];
    pwr[0] = 1;
    int k = 1;
    printf("%d ", pwr[0]);

    while(k < n){
        pwr[k] = pwr[k - 1] * 3;
        printf(" %d ", pwr[k]);
        k++;
        }
    return 0;
}


现在,我需要使数组中的每个奇数索引乘以3,并且每个偶数索引乘以2。

我尝试使用while(k < n && k % 2 == 1)之类的东西,并且还使用了“ for”和“ if-else”。无法弄清楚如何使其工作。

最佳答案

您可以使用:

    pwr[k] = pwr[k - 1] * ((k%2)+2);


如果k为奇数,则k%2为1,因此它将乘以3。

关于c - 数组,其中每个偶数索引乘以2,奇数索引乘以3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51282846/

10-11 23:07