C程序 将以英寸-英尺为单位的N个距离相加

C程序 将以英寸-英尺为单位的N个距离相加

给定一个数组arr[],包含N个英寸-英尺系统的距离,这样数组的每个元素都代表一个{英寸,英尺}形式的距离。任务是使用结构将所有N个英寸-英尺的距离相加。

示例:

输入: arr[] = { { 10, 3.7 }, { 10, 5.5 }, { 6, 8.0 }};
输出:
脚数: 27
英寸总和: 5.20

输入: arr[] = { {1, 1.7 }, { 1, 1.5 }, { 6, 8 }};
输出:
脚数: 8
英寸和:11.20

步骤:

1.遍历结构数组arr,找出给定的N个距离集的所有英寸的总和为。

feet_sum = feet_sum + arr[i].feet;
inch_sum = inch_sum + arr[i].inch;   

2.如果所有英寸的总和(例如inch_sum)大于12,那么将inch_sum转换成英尺,因为

1 feet = 12 inches   

因此将inch_sum更新为inch_sum % 12 。然后找到N个距离的所有英尺的总和(例如foot_sum),并将inch_sum/12加入这个总和。

3.单独打印foot_sum和inch_sum。

下面是上述方法的实现。

// C program for the above approach
  
#include "stdio.h"
  
// Struct defined for the inch-feet system
struct InchFeet {
  
    // Variable to store the inch-feet
    int feet;
    float inch;
};
  
// Function to find the sum of all N
// set of Inch Feet distances
void findSum(struct InchFeet arr[], int N)
{
  
    // Variable to store sum
    int feet_sum = 0;
    float inch_sum = 0.0;
  
    int x;
  
    // Traverse the InchFeet array
    for (int i = 0; i < N; i++) {
  
        // Find the total sum of
        // feet and inch
        feet_sum += arr[i].feet;
        inch_sum += arr[i].inch;
    }
  
    // If inch sum is greater than 11
    // convert it into feet
    // as 1 feet = 12 inch
    if (inch_sum >= 12) {
  
        // Find integral part of inch_sum
        x = (int)inch_sum;
  
        // Delete the integral part x
        inch_sum -= x;
  
        // Add x%12 to inch_sum
        inch_sum += x % 12;
  
        // Add x/12 to feet_sum
        feet_sum += x / 12;
    }
  
    // Print the corresponding sum of
    // feet_sum and inch_sum
    printf("Feet Sum: %d
", feet_sum);
    printf("Inch Sum: %.2f", inch_sum);
}
  
// Driver Code
int main()
{
  
    // Given set of inch-feet
    struct InchFeet arr[]
        = { { 10, 3.7 },
            { 10, 5.5 },
            { 6, 8.0 } };
  
    int N = sizeof(arr) / sizeof(arr[0]);
  
    // Function Call
    findSum(arr, N);
  
    return 0;
}

输出:

Feet Sum: 27
Inch Sum: 5.20

时间复杂度: O(N) ,其中N是英寸-英尺距离的数量。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C语言 实例