#include "stdio.h" #include "stdlib.h" int plus(int a, int b) { return a + b; } int minus(int a, int b) { return a - b; } int multiply(int a, int b) { return a * b; } int divided(int a, int b) { return a / b; } int main() { int a, c; char b; printf("key a Function \nEX: 1 + 1\n"); scanf("%i %c %i", &a, &b, &c); if (b == '+') printf("%d %c %d = %d\n", a, b, c, plus(a, c)); else if (b == '-') printf("%d %c %d = %d\n", a, b, c, minus(a, c)); else if (b == '*') printf("%d %c %d = %d\n", a, b, c, multiply(a, c)); else if (b == '/') printf("%d %c %d = %d\n", a, b, c, divided(a, c)); }
=========================================================================
#include"stdio.h"
int plus(int a, int b){ return a+b; }
int minus(int a, int b){ return a-b; }
int multiply(int a, int b){ return a*b; }
int divided(int a, int b){ return a/b; }
int main(){
int a, c;
char b;
scanf("%d %c %d", &a, &b, &c);
int (*cmd[])(int a, int c) = {multiply, plus, NULL, minus, NULL, divided};
printf("%d\n",cmd[b-42](a,c)); // '*' ASCII = 42(0x2a) ,'+' ASCII = 43 (0x2b), '-' ASCII = 45, '/' ASCII = 47
return 0;
}
No comments:
Post a Comment