解题思路:
函数解法:
使用带参数有返回值的函数:float max(a,b,c),使用两个if语句便可以求出来最大值
float max = 0;
if (a > b)
max = a;//将a和b中的最大值赋给max
if (max < c)
max = c;//将max和c中的最大值赋给max
宏解法:
使用两个带参数的宏
#define T(a,b) max2=a>b?a:b
#define S(max2,c)max2=max2>c?max2:c
第一次使用Max3 = T(a, b);求出a和b中的最大值,然后将求出来的结果作为第二次比较的参数Max4 = S(Max3, c);可以求出三者中的最大值。
注意事项:
注意返回值类型和函数类型的值都是浮点型
参考代码:
# include <stdio.h> # include<stdlib.h> #define T(a,b) max2=a>b?a:b #define S(b,c)max2=max2>c?max2:c float max1(float a, float b, float c) { float max = 0; if (a > b) max = a;//将a和b中的最大值赋给max if (max < c) max = c;//将max和c中的最大值赋给max return max; } int main(void) { float a, b, c; float Max,Max3,Max4; float max2; scanf_s("%f%f%f", &a, &b, &c); Max=max1(a, b, c);//调用函数 Max3 = T(a, b);//使用宏第一次比较a和b中的最大值 Max4 = S(Max3, c);//将第一次比较的结果Max3作为第二次比较的参数 printf("%.3f\n", Max);//输出函数求的最大值 printf("%.3f\n",Max4);//输出宏求的最大值 system("pause"); return 0; }
0.0分
0 人评分
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1327 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:598 |
C语言考试练习题_保留字母 (C语言代码)浏览:700 |
分解质因数 (C++代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:500 |
多组数据新方法浏览:355 |
C语言程序设计教程(第三版)课后习题11.1 (C++代码)浏览:681 |
1169题解浏览:519 |
C语言训练-求PI* (C语言代码)浏览:496 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)(一般方法:辗转相除法)浏览:700 |