使用可变参数,实现函数,求函数参数的平均值

1.使用可变参数,实现函数,求函数参数的平均值。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>   
#include<stdlib.h>   
#include <stdarg.h>    
int average(int num, ...)//第一个参数传的是参数的个数,后面三个点代表可变参数列表   

   int sum = 0; 
    va_list arg;  //定义一个va_list类型的变量   
    va_start(arg, num); //宏 va_start   
    for (int i = 0; i < num; i++) 
    { 
        sum += va_arg(arg, int);  //宏 va_arg   
    } 
    va_end(arg); //宏 va_end   
    return sum / num; 
}   
int main() 

    int aver = 0; 
    aver = average(5,2,4,6,8,10); //第一参数为个数,之后的数为被平均的数   
    printf("%d\n", aver); 
   system("pause"); 
   return 0; 

2.使用可变参数,实现函数,求函数参数的最大值。 

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h> 
#include <stdarg.h> 
#include <windows.h> 
int Max(int n, ...) 

    int i = 0; 
    int max = 0; 
    va_list arg; 
    va_start(arg, n); 
    for (i = 0; i < n; i++) 
    { 
        int val = va_arg(arg, int); 
        if (val > max) 
        { 
            max = val; 
        } 
    } 
    va_end(arg); 
    return max; 

int main() 

    int ret = Max(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 
    printf("%d\n", ret); 
    system("pause"); 
    return 0; 

3.模拟实现printf函数,可完成下面的功能 

// 
//能完成下面函数的调用。 
//print("s ccc d.\n","hello",'b','i','t',100); 
//函数原型: 
//print(char *format, ...) 
// 

 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<stdarg.h>
void print(char *format, ...)
{
 va_list arg;
 va_start(arg, format);
 printf("%s ", va_arg(arg, char*));
 printf("%c", va_arg(arg, char));
 printf("%c", va_arg(arg, char));
 printf("%c ", va_arg(arg, char));
 printf("%d", va_arg(arg, int));
 printf("\n");
 va_end(arg);

}
int main()
{
 print("s ccc d.\n", "hello", 'b', 'i', 't', 100);
 system("pause");
 return 0;
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值