用函数指针实现两个整数的加、减、乘、除四种运算,主函数中分别用字符‘A’‘S’‘M’‘D’表示四种运算;
发布网友
发布时间:2022-05-02 03:46
我来回答
共2个回答
热心网友
时间:2023-10-09 09:00
#include<stdio.h>
int main()
{
char a;
char *p = &a;
float num1;
float num2;
printf("please input you want to results\n");
scanf("%f%c%f",&num1,p,&num2);
switch(*p)
{
case 'A': printf("num1 + num2 = %6.2f", num1 + num2);
break;
case 'S': printf("num1 - num2 = %6.2f", num1 - num2);
break;
case 'M': printf("num1 * num2 = %6.2f", num1 * num2);
break;
case 'D': printf("num1 / num2 = %6.2f", num1 / num2);
break;
default: printf("error");
}
return 0;
}
热心网友
时间:2023-10-09 09:00
#include <stdio.h>
int A(int *a, int *b)
{
return *a + *b;
}
int S(int *a, int *b)
{
return *a - *b;
}
int M(int *a, int *b)
{
return *a * *b;
}
float D(int *a, int *b)
{
if (*b == 0)
{
printf("b的值不能为0!\n");
return 0;
}
return ((float)*a / *b);
}
int main()
{
int a, b;
printf("Please input a,b:");
scanf("%d%d",&a, &b);
printf("a + b = %d\n", A(&a, &b));
printf("a - b = %d\n", S(&a, &b));
printf("a * b = %d\n", M(&a, &b));
printf("a / b = %f\n", D(&a, &b));
return 0;
}追问如果我不想它们都输出来呢??
追答#include
int A(int a, int b)
{
return a + b;
}
int S(int a, int b)
{
return a - b;
}
int M(int a, int b)
{
return a * b;
}
int D(int a, int b)
{
return a / b;
}
void process(int a, int b, int (*fun)(int, int))
{
printf("%d\n",(*fun)(a, b));
}
int main()
{
int a, b;
printf("Please input a,b:");
scanf("%d%d",&a, &b);
printf("add:\n");
process(a, b, A);
printf("substract:\n");
process(a, b, S);
printf("multiplication:\n");
process(a, b, M);
printf("division:\n");
process(a, b, D);
return 0;
}
c语言中编写程序,输入2个数,定义四个函数,分别实现加减乘除四则运算...
1、定义一个基础函数,例如`double calculate(double x, double y, char operation)`,它接受两个数`x`和`y`以及一个操作符`operation`作为参数。这个函数将是实现四则运算的核心。2、在`calculate`函数内部,我们创建一个`double`类型的变量`result`来存储运算结果。对于加法,可以这样调用函数:`res...
...的程序(c=a运算符b),只做加、减、乘、除四种运算。(用switch结构...
{"+", add}, // 使用函数指针 {"-", minus<int>()}, // 使用标准库函数对象 {"*", [](int i, int j) {return i * j; }}, // 使用未命名的lambda表达式 {"/", divide()}, // 使用函数调用运算符 {"%", mod} // 命名了的lambda表达式 }; int main() { int num1, num2; stri...
编写一个函数,用指针作为参数,分别得到双精度实型数据的整数部分和小...
void main(){ float x,a;int b;printf("请输入浮点数:\n");scanf("%f",&x);f(x,&a,&b);printf("整数部分是:%d小数部分是:%f",b,a);} 实型变量分为两类:单精度型和双精度型 其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)...
用C语言做个简单的计算器 要有加减乘除 先乘后加 先算括号里的
int div(int x,int y);int getach(); //用于获取一个合法字符 int getid(); //对合法字符进行判断处理 int cal(); //计算表达式的值 int num,curch;int (*func[])(int x,int y)={add,sub,mul,div}; //函数指针数组,数组元素分别指向+-*/运算函数 char chtbl[]="+-*...
急。。请问一下,指向函数的指针有什么特殊的作用吗?为什么要有指向函数...
指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如: 例二: 1、chara[20]; 2、int*ptr=a; ... ... 3、ptr++; 在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样处理的:它...
...计算器计算器包括加,减,乘,除四种运算。用户通过鼠标进
如果只做四个简单的运算这应应该可以 shell脚本代码如下:!/bin/bash read -p "input num1:" a read -p "input num2:" b read -p "input operator:" o case $o in +) let "res=a + b"echo $res;;-) let "res=a - b"echo $res;;/) awk 'BEGIN{printf "%.2f\n",'$a'...
...的程序(c=a运算符b),只做加、减、乘、除四种运算。(用switch结构...
include<stdio.h>int main(){ int a,c; char b; float result; scanf("%d %c %d",&a,&b,&c); //输入需要分开,如:1 + 2 switch(b) { case '+': result=a+c; break; case '-': result=a-c; break; case '*': result=a*c...
编写函数 printArray,使用指针实现打印一维整型数组中所有元素的操作...
include<stdio.h> void printArray(int *array,int number){ int i;for ( i=0;i<number;i++ ) { printf("%d\t",array[i]); if ( i%5==4 ) printf("\n"); } printf("\n");} void main(){ int a[18],i;for ( i=0;i<18;i++ ) a[i]=i+1;printArray(a,18);} ...
C语言,利用指针编写程序:删除一个字符串中的某一个字符
1、其实头函数每个都需要用到的就是#include <stdio.h>,因为程序里面涉及到了输出和输入字符串以及字符。#include <string.h>。2、其次就是要定义两个相同容量的字符串储存的变量 char a[100]; char b[100];。以及整数变量 int c; int i=0,j=0; 其中a[100]是存字符串的,b【100】是...
比如,在一个加减乘除的程序中,输入两个数值,要求能同时求出这两个值...
加、减、乘、除四种运算统称四则运算。加法的意义:把两个(或几个)数合并成一个数的运算叫做加法。减法的意义:已知两个加数的和与其中的一个加数求另一个加数的运算叫做减法。减法中,已知的两个加数的和叫做被减数,其中一个加数叫做减数,求出的另一个加数叫差。乘法的意义:一个数乘以整数,...