编写一个函数,功能为求三个数的平均值。

编写一个函数,功能为求三个数的平均值。
编写一个函数,功能为求三个数的平均值。

函数:

double average(double a, double b, double c) {
    return (a + b + c) / 3.0;
}

例子:

#include <stdio.h>

double average(double a, double b, double c) {
    return (a + b + c) / 3.0;
}

int main() {
    double a = 1.2, b = 2.3, c = 3.4;
    double avg = average(a, b, c);
    printf("三个数 %.1f, %.1f, %.1f 的平均值是 %.2f\n", a, b, c, avg);
    return 0;
}


float average(float a, float b, float c) {
    float avg = (a + b + c) / 3.0;
    return avg;
}


float averageFun(float a, float b, float c) {
    float avg = (a + b + c) / 3.0;
    return avg;
}
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7575703
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言编写一个三角形程序,任意输入三个整数,判断三个整型边长能否构成三角形。如果是三角形,则判断它是一般三角形、等腰三角形或等边三角形,并输出三角形的类型。
  • 除此之外, 这篇博客: 输入三个字符串,按由小到大的顺序输出,利用指针实现。中的 输入三个字符串,按由小到大的顺序输出,利用指针实现。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • //输入三个字符串,按由小到大的 顺序输出,用指针来实现
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #define M 5
    int main()
    {
        char a[M], b[M], c[M];
        char *p, *q, *t;
        char x[M];
        printf("请输入三个字符串:\n");
        gets(a);
        gets(b);
        gets(c);
        p = a; // abc
        q = b; // agf
        t = c; // ccc
        // printf("输出%d\n", strcmp(p, q)); // 输出-1 说明 p比q小
        // printf("strcmp(q,p) 输出%d\n", strcmp(q,p)); // 输出1 说明 q比p 大
        if ((strcmp(p, q)) > 0) // p 比 q 大,交换 pq的值,让小的放前面
        {
            strcpy(x, p); // 将p的值覆盖到x里面,
            strcpy(p, q); // 将q的值覆盖到p
            strcpy(q, x); // 将x的值覆盖到q
        }
        if ((strcmp(p, t)) > 0) // p > t ? 同上,x相当于 temp 辅助交换
        {
            strcpy(x, p);
            strcpy(p, t);
            strcpy(t, x);
        }
        if ((strcmp(q, t)) > 0) // q > t
        {
            strcpy(x, q);
            strcpy(q, t);
            strcpy(t, x);
        }
    
        printf("输出由小到大排序好的三个字符串:%s\t%s\t%s\n", p, q, t);
        return 0;
    }
    

    result:

    请输入三个字符串:
    ccc
    abf
    acb
    输出由小到大排序好的三个字符串:abf      acb     ccc
    
//输入三个字符串,按由小到大的 顺序输出,用指针来实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M 5
int main()
{
    char a[M], b[M], c[M];
    char *p, *q, *t;
    char x[M];
    printf("请输入三个字符串:\n");
    gets(a);
    gets(b);
    gets(c);
    p = a; // abc
    q = b; // agf
    t = c; // ccc
    // printf("输出%d\n", strcmp(p, q)); // 输出-1 说明 p比q小
    // printf("strcmp(q,p) 输出%d\n", strcmp(q,p)); // 输出1 说明 q比p 大
    if ((strcmp(p, q)) > 0) // p 比 q 大,交换 pq的值,让小的放前面
    {
        strcpy(x, p); // 将p的值覆盖到x里面,
        strcpy(p, q); // 将q的值覆盖到p
        strcpy(q, x); // 将x的值覆盖到q
    }
    if ((strcmp(p, t)) > 0) // p > t ? 同上,x相当于 temp 辅助交换
    {
        strcpy(x, p);
        strcpy(p, t);
        strcpy(t, x);
    }
    if ((strcmp(q, t)) > 0) // q > t
    {
        strcpy(x, q);
        strcpy(q, t);
        strcpy(t, x);
    }
 
    printf("输出由小到大排序好的三个字符串:%s\t%s\t%s\n", p, q, t);
    return 0;
}