c - 数组,其中每个偶数索引以 2 为动力,奇数索引以 3 为动力

标签 c arrays

我是新来的。我有这段代码,其中每个数组的元素由 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/

相关文章:

c - 在 C 中获取 Linux 中已经运行的进程的标准输出

java - HMAC 一个 php 字节数组

c++ - 琐碎的 C++ 代码……为什么要编译?

javascript - 通过Javascript将多种数据形式存入数组

c++ - 可变大小指针数组

c - 程序添加数字不显示任何输出

c - 目标和模块的内核版本

c - 进程地址空间中 .so 和 a.out 文件的多个副本

c - 传递文件描述符 - Execve(类型转换)

更改位数组中的值