可变参数练习题(C语言)
来源:互联网 发布:下载刷枪软件 编辑:程序博客网 时间:2024/06/04 23:34
1.使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
#include<stdio.h>#include<stdarg.h>#include<Windows.h>int int_Calculate(int num1, char *p, int num2){ if (p == "-a") return num1 + num2; else if (p == "-s") return num1 - num2; else if (p == "-m") return num1 * num2; else if (p == "-d") return num1 / num2; else return -1; }int main(int argc, int argv){ char a; char *p = &a; int num1 = 0; int num2 = 0; scanf("%d%c%d", &num1, &a, &num2); if (a == '+') p = "-a"; //如果输入‘+’表示“-a”选项执行加法 else if (a == '-') p = "-s"; //如果输入‘-’表示“-s”选项执行减法 else if (a == '*') p = "-m"; //如果输入‘*’表示“-m”选项执行乘法 else if (a == '/') p = "-d"; //如果输入‘/’表示“-d”选项执行除法 else p = '\0'; int ret = int_Calculate(num1, p, num2); printf("%d%c%d=%d\n", num1, a, num2, ret); system("pause"); return 0; }
2.使用可变参数,实现函数求未知参数部分n个数的平均值。
#include<stdio.h>#include<stdarg.h>#include<Windows.h>//使用可变参数,实现函数求未知参数部分n个数的平均值。 int Average(int n, ...)//n为参数个数{ va_list arg; //声明一个va_list型的变量,需要调用va_start来初始化 int i = 0; int sum = 0; va_start(arg, n); // 接受两个参数,第一个参数必须是va_list的变量名,第二个参数是省略号前最后一个有名字的参数 for(i = 0; i < n; i++) { sum += va_arg(arg, int); //这是一个宏,接收两个参数,va_list参数和参数列表中下一个参数的类型 } return sum/n; va_end(arg); //当访问完最后一个可变参数之后,需要调用这个宏}int main(){ int ret = Average(4,3 ,0,0,9 );//求四个数的平均值 printf("%d \n", ret); system("pause"); return 0;}
3.使用可变参数,实现函数求未知参数部分n个数中的最大值。
#include<stdio.h>#include<stdarg.h>#include<Windows.h>int Max(int n, ...){ va_list arg; int i = 0; int max = 0; va_start(arg, n); int temp = va_arg(arg, int); for (i = 0; i < n; i++) { if (temp>max) { max = temp; } else return max; } va_end(arg); return max;}int main(){int max = Max(4, 9,1,5, 2);//求四个数中的最大值 printf("%d \n", max); system("pause"); return 0;}
阅读全文
0 0
- 可变参数练习题(C语言)
- c语言可变参数
- C语言可变参数
- C语言可变参数
- C语言可变参数
- c语言可变参数
- c语言可变参数
- C语言可变参数
- C语言可变参数
- C语言可变参数
- c 语言可变参数
- c语言可变参数
- c语言 可变参数
- c语言可变参数 ...
- c语言可变参数
- C 语言 可变参数
- C语言可变参数
- C语言可变参数
- 蓝桥杯 算法训练 字串统计
- Win10下windows mobile设备中心连接不上的方法无法启动
- 《系统程序员成长计划》读书笔记
- 设计模式之禅17
- 2017hdu新生赛
- 可变参数练习题(C语言)
- python队列通信:rabbitMQ使用
- F745VGTx_HAL_基础知识
- 一些简单的小程序_5——C语言篇
- 着色器
- web.xml配置文件中标签<listener-class>报错
- HihoCoder
- 数据库查询表之间的连接分
- 方法之间参数传递获取不到原因