理解算法的一部分

时间:2017-08-22 21:46:49

标签: c algorithm

以下是我用于项目的算法的一部分,但由于这是我第一次使用算法,因此我不理解以下几行。请你帮忙。

For i=1 to n do
     t[i] .mark <-- 0
     t[i] .num <-- -1
End

2 个答案:

答案 0 :(得分:2)

此伪代码可以转换为C

使用struct

struct cm{
    int mark;
    int num;
};


#define N 10

int main(void)
{

    struct cm t[N];

    for (int i=0;i<N;i++){
        t[i].mark = 0;
        t[i].num = -1;
    }   

    //print your struct elements field
    for (int i=0;i<N;i++){
        printf("%d: %d, %d\n",i ,t[i].mark, t[i].num);
    }

} 

我们有一个struct数组,因为我们需要它的每个元素都有两个数据字段(即mark,num)。

struct cm t[N];定义结构N的{​​{1}}长度数组。

在循环中,我们为数组元素的每个字段分配正确的值。

为了更具可读性,您可以使用cm代替使用typedef来定义您希望的数据结构。 typedef vs struct

使用struct

typedef

答案 1 :(得分:1)

“t”似乎是一个对象数组,“mark”和“num”是对象的属性。 这可能对您有所帮助: From an array of objects, extract value of a property as array