C语言自定义函数比较四个数的大小并输出
时间: 2023-07-19 11:06:03 浏览: 207
下面是一个比较四个数大小的C语言自定义函数示例:
```c
#include <stdio.h>
int compare(int a, int b, int c, int d) {
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
if (d > max) {
max = d;
}
return max;
}
int main() {
int num1, num2, num3, num4;
printf("请输入四个整数:\n");
scanf("%d %d %d %d", &num1, &num2, &num3, &num4);
int max_num = compare(num1, num2, num3, num4);
printf("最大数为:%d\n", max_num);
return 0;
}
```
该函数接受四个整数作为参数,然后在函数内部比较它们的大小,返回最大值。在 main 函数中,我们通过 scanf 函数获取用户输入的四个整数,然后调用 compare 函数得到最大值,并将其输出。
相关问题
C语言自定义函数实现四则运算
C语言自定义函数实现四则运算的方法是通过将中缀表达式转换为后缀表达式,然后利用栈来实现计算。具体步骤如下:
1. 定义一个栈,用于存储操作数和运算符。
2. 将中缀表达式转换为后缀表达式,即将运算符按照优先级顺序加入到栈中,操作数直接输出。
3. 遍历后缀表达式,如果是操作数,则将其压入栈中;如果是运算符,则弹出栈顶的两个操作数进行计算,并将结果压入栈中。
4. 最后栈中只剩下一个元素,即为计算结果。
下面是一个简单的实现示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_STACK_SIZE 100
double stack[MAX_STACK_SIZE];
int top = -1;
void push(double value) {
if (top >= MAX_STACK_SIZE - 1) {
printf("Stack overflow\n");
exit(1);
}
stack[++top] = value;
}
double pop() {
if (top < 0) {
printf("Stack underflow\n");
exit(1);
}
return stack[top--];
}
int is_operator(char c) {
return c == '+' || c == '-' || c == '*' || c == '/' || c == '%';
}
int precedence(char c) {
if (c == '+' || c == '-') {
return 1;
} else if (c == '*' || c == '/' || c == '%') {
return 2;
} else {
return 0;
}
}
void infix_to_postfix(char infix[], char postfix[]) {
int i, j;
char c;
for (i = j = 0; infix[i] != '\0'; i++) {
if (isdigit(infix[i])) {
postfix[j++] = infix[i];
} else if (is_operator(infix[i])) {
while (top >= 0 && precedence(stack[top]) >= precedence(infix[i])) {
postfix[j++] = pop();
}
push(infix[i]);
} else if (infix[i] == '(') {
push(infix[i]);
} else if (infix[i] == ')') {
while ((c = pop()) != '(') {
postfix[j++] = c;
}
}
}
while (top >= 0) {
postfix[j++] = pop();
}
postfix[j] = '\0';
}
double evaluate_postfix(char postfix[]) {
int i;
double op1, op2;
for (i = 0; postfix[i] != '\0'; i++) {
if (isdigit(postfix[i])) {
push(postfix[i] - '0');
} else if (is_operator(postfix[i])) {
op2 = pop();
op1 = pop();
switch (postfix[i]) {
case '+':
push(op1 + op2);
break;
case '-':
push(op1 - op2);
break;
case '*':
push(op1 * op2);
break;
case '/':
push(op1 / op2);
break;
case '%':
push((int)op1 % (int)op2);
break;
}
}
}
return pop();
}
int main() {
char infix[100], postfix[100];
double result;
printf("Enter an infix expression: ");
scanf("%s", infix);
infix_to_postfix(infix, postfix);
printf("Postfix expression: %s\n", postfix);
result = evaluate_postfix(postfix);
printf("Result: %.2lf\n", result);
return 0;
}
```
c语言自定义函数计算机
可以使用C语言编写自定义函数来实现计算机的功能。以下是一个简单的例子:
```c
#include <stdio.h>
// 自定义函数:加法
int add(int a, int b) {
return a + b;
}
// 自定义函数:减法
int subtract(int a, int b) {
return a - b;
}
// 自定义函数:乘法
int multiply(int a, int b) {
return a * b;
}
// 自定义函数:除法
float divide(int a, int b) {
if (b == 0) {
printf("除数不能为0!");
return 0;
} else {
return (float)a / b;
}
}
int main() {
int a = 10, b = 5;
printf("a + b = %d\n", add(a, b));
printf("a - b = %d\n", subtract(a, b));
printf("a * b = %d\n", multiply(a, b));
printf("a / b = %f\n", divide(a, b));
return 0;
}
```
这段代码中,我们定义了四个自定义函数:加法、减法、乘法和除法。然后在主函数中调用这些函数来进行计算,并输出结果。这个例子只是非常简单的一个例子,实际上,我们可以使用自定义函数来实现更加复杂的计算机功能。