重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
# includestdio.h
创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,德阳机房托管,德阳机房托管,成都多线服务器托管等服务器托管服务。
double jia(double x, double d)
{
double s;
s = x+d;
return s;
}
double jian(double x, double d)
{
double s;
s = x-d;
return s;
}
double cheng(double x, double d)
{
double s;
s = x*d;
return s;
}
double chu(double x, double d)
{
double s;
s = x/d;
return s;
}
int main(void)
{
double i, j, k;
char t;
k = 0;
printf("请输入要计算什么运算“+”“-”“*”“/”\n");
scanf("%c", t);
if(t == '+')
{
printf("请输入要相加的两个数\n");
scanf("%lf %lf", i, j);
k = jia(i, j);
printf("这两个数相加为%6.2lf\n", k);
}
else if(t == '-')
{
printf("请输入要相减的两个数\n");
scanf("%lf %lf", i, j);
k = jian(i, j);
printf("这两个数相减为%6.2lf\n", k);
}
else if(t == '*')
{
printf("请输入要相*的两个数\n");
scanf("%lf %lf", i, j);
k = cheng(i, j);
printf("这两个数相*为%6.2lf\n", k);
}
else if(t == '/')
{
printf("请输入要相/的两个数\n");
scanf("%lf %lf", i, j);
k = chu(i, j);
printf("这两个数相/为%6.2lf\n", k);
}
else
{
printf("对不起目前只支持“+”“-”“*”“/”\n");
}
return 0;
}
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;
2、输入预处理命令和主函数:
#includestdio.h /*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
3、定义变量:
int a,b,d; /*定义变量的数据类型为整型*/
char c;/*定义变量的数据类型为字符型*/
4、输入四则运算式:
printf("输入如“3*4”或“5+2”的四则运算式:");/*输出文字提示*/
scanf("%d%c%d",a,c,b);/*输入四则运算式*/
5、判断运算符号:
switch(c) /*判断运算符号*/
{
case'+':d=a+b;break;/*进行加法运算*/
case'-':d=a-b;break;/*进行减法运算*/
case'*':d=a*b;break;/*进行乘法运算*/
case'/':d=a/b;break; /*进行除法运算*/
}
6、输出结果:
printf("%d%c%d=%d\n",a,c,b,d);/*输出结果*/
完整的源代码:
#includestdio.h /*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
int a,b,d;/*定义变量的数据类型为整型*/
char c;/*定义变量的数据类型为字符型*/
printf("输入如“3*4”或“5+2”的四则运算式:");/*输出文字提示*/
scanf("%d%c%d",a,c,b);/*输入四则运算式*/
switch(c)/*判断运算符号*/
{
case'+':d=a+b;break;/*进行加法运算*/
case'-':d=a-b;break;/*进行减法运算*/
case'*':d=a*b;break;/*进行乘法运算*/
case'/':d=a/b;break;/*进行除法运算*/
}
printf("%d%c%d=%d\n",a,c,b,d);/*输出结果*/
}
#includestdio.h
double jia(double a,double b){
return a+b;}
double jian(double a,double b){
return a-b;}
double cheng(double a,double b){
return a*b;}
double chu(double a,double b){
return a/b;}
int modd(int a,int b){
return a%b;}
int main(){
double a,b;
printf("输入两个数字\n");
scanf("%lf%lf",a,b);
printf("加 %lf\n减 %lf\n乘 %lf\n除 %lf\n取模 %d\n",jia(a,b),jian(a,b),cheng(a,b),chu(a,b),modd((int)a,(int)b));
return 0;}
按照你的程序运行后。。。在输入c值的时候
程序直接结束了。。。还有就是每个case语句后记着加上break跳出不过也有不过根据具体需要也可以不加break;但是你的这个程序需要加上break;
原因是:回车符也是字符,所以你按回后,程序以为是输入了c的值了,而在输入b值成功是因为
回车符不是数字形式的。
以下是我改过的程序,编译运行都很好的
#include stdio.h
#include math.h
void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",a);
printf("\n input b:");
scanf("%f",b);
//这种情况经常遇到。。。。输入完后回车被下一个scanf("%c",c)捕获了。
//因为回车符也是字符,所以你按回车后,程序以为是输入了c的值了
//所以加上下面一行,把回车符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '*': printf("a*b=%f",a*b);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//为了好看
printf("\n");
}
1、加上头文件#includestdio.h
2、额,int b不可以赋值为1.8
3、%f改为f,因为是输入,所以要传地址的。
4、scanf后的=掉,这是函数调用,不是赋值;
ok:最终程序为:
#includestdio.h
#include conio.h
main()
{int a,b,f,sum;
a=32,b=8;
scanf("%d",f);
sum=f-a/b;
printf("sum is %d\n",sum);
getch();
}
另外,我不知道你的转换公式有没有错误,但是感觉有点别扭。
实现方法如下:
读入的时候用%x读入,然后在程序里面直接用+,-,*,/运算就行了,输出的时候再用%x。
示例一:
int a,b;
scanf("%x%x",a,b);
printf("%x\n%x\n",a+b,a-b);
输入:9 7
输出:
10
2
示例二:
int a = 0, b = 0;
char char1 = 0;
int val = 0;
printf("输入:");
scanf("%d%c%d", a, char1, b);
switch (char1) {
case '+': val = a + b;
break;
case '-': val = a - b;
break;
case '*': val = a * b;
break;
case '/': val = a / b;
break;
}
printf("%d", val);