📜  C C ++程序使用“结构”将英寸英尺系统中给定的N个距离相加(1)

📅  最后修改于: 2023-12-03 15:13:44.224000             🧑  作者: Mango

使用结构将英制长度相加

当我们处理英制长度时,常常需要将英寸和英尺相加。本文将介绍如何使用结构来处理这个问题。

定义结构

我们可以使用一个结构体来表示英制长度,其中包括英寸和英尺两个成员变量。

struct Length{
    int inch;   // 英寸
    int foot;   // 英尺
};
输入数据

在程序中,我们需要输入一组英制长度数据。可以使用一个数组来存储输入的数据。

const int N = 10;   // 数据个数
struct Length data[N];  // 存储数据的数组

// 输入数据
for(int i=0; i<N; i++){
    printf("请输入第%d个长度,格式为<英尺> <英寸>:", i+1);
    scanf("%d %d", &data[i].foot, &data[i].inch);
}
计算总长度

现在,我们已经输入了一组数据,需要计算这些长度的总和。可以定义一个函数来完成这个任务。

struct Length AddLength(struct Length a, struct Length b){
    struct Length c;
    c.inch = a.inch + b.inch;
    c.foot = a.foot + b.foot + c.inch / 12;
    c.inch %= 12;
    return c;
}

// 计算总长度
struct Length sum = data[0];
for(int i=1; i<N; i++){
    sum = AddLength(sum, data[i]);
}

在以上代码中,我们定义了一个AddLength()函数,用于将两个英制长度相加。在计算总和时,我们使用了这个函数。

输出结果

现在,我们已经计算出了输入数据的总和,需要将结果输出。可以使用以下代码来完成输出:

printf("输入的长度为:\n");
for(int i=0; i<N; i++){
    printf("%d %d\n", data[i].foot, data[i].inch);
}
printf("总长度为:%d %d\n", sum.foot, sum.inch);
完整代码

下面是完整的代码:

#include <stdio.h>

const int N = 10;   // 数据个数
struct Length{
    int inch;   // 英寸
    int foot;   // 英尺
}data[N];   // 数据数组

// 将两个长度相加
struct Length AddLength(struct Length a, struct Length b){
    struct Length c;
    c.inch = a.inch + b.inch;
    c.foot = a.foot + b.foot + c.inch / 12;
    c.inch %= 12;
    return c;
}

int main(){
    // 输入数据
    for(int i=0; i<N; i++){
        printf("请输入第%d个长度,格式为<英尺> <英寸>:", i+1);
        scanf("%d %d", &data[i].foot, &data[i].inch);
    }

    // 计算总长度
    struct Length sum = data[0];
    for(int i=1; i<N; i++){
        sum = AddLength(sum, data[i]);
    }

    // 输出结果
    printf("输入的长度为:\n");
    for(int i=0; i<N; i++){
        printf("%d %d\n", data[i].foot, data[i].inch);
    }
    printf("总长度为:%d %d\n", sum.foot, sum.inch);

    return 0;
}

以上就是使用结构来处理英制长度相加的方法。