#include <stdio.h>
#include <stdlib.h>
//有两个参数的函数,实现选择加减乘除运算
void tip()
{
printf(“\n");
printf("\n”);
printf(“请输入一种算法\n");
printf("设计者:罗可飞\n”);
printf(“\n");
printf("\n”);
}
int jia(int a,int b)
{
int z;
z = a + b;
return z;
}
int jian(int a,int b)
{
int z;
z = a - b;
return z;
}
float chen(float a,int b)
{
float z;
z = a * b;
return z;
}
float chu(float a,int b)
{
float z;
z = a / b; //不同类型数据运算时,比如两个整数相除,必须将除数或者将被除数强制转换成小数,否则小数后面的小数点后面的数据会被忽略
return z;
}
void zenzhen(int a,int b,char suanfa)
{
switch(suanfa)
{
case ‘+’:
printf(“两数相加,结果:%d\n”,jia(a,b));
jia(a,b);
break;
case '-':
printf("两数相减,结果:%d\n",jian(a,b));
jian(a,b);
break;
case 'x':
printf("两数相成,结果:%d\n",chen(a,b));
chen(a,b);
break;
case '/':
chu(a,b);
printf("两数相除,结果:%f\n",chu(a,b));
break;
}
}
void shuru(suanfa)
{
switch(suanfa)
{
case ‘+’:
printf(“你选择了加法\n”);
break;
case '-':
printf("你选择了减法\n");
break;
case 'x':
printf("你选择了乘法\n");
break;
case '/':
printf("你选择了除法\n");
break;
default:
printf("算法选择错误\n");
break;
}
}
void xuanze(char suanfa)
{
int a;
int b;
shuru(suanfa); //调用输入算法函数
printf("请输入第一个数\n");
scanf("%d",&a);
printf("请输入第二个数\n");
scanf("%d",&b);
zenzhen(a,b,suanfa); //调用真正算法函数
}
int main()
{
int a;
int b;
float c;
char suanfa;
int mark=0;
while(1)
{
tip();
if(mark != 0)//在这里的作用是把输入第二个数b以后的回车吸收掉,不想第一次进来的是时候被调用,所以通过mark来控制
getchar();
mark=1;
printf("请输入你想要的算法\n");
scanf("%c",&suanfa); //先输入了,再输入回车
getchar();//吸收回车,回车符也是一种字符,getchar函数用来获取一个字符,在这里作用是把回车吸收掉
xuanze(suanfa);
}
system("pause");
return 0;
}