C语言编写计算器
我们可以用printf和scanf函数输出结果和获取用户的输入。需要<stdio.h>头文件。scanf函数在读取数据的时候不需要再一行上输入每个数据,只要数据和数据之间留出空白就可以了。先声明两个变量number1和number2,operation变量用来存储运算符。用scanf函数获取这两个数字和运算符。分别用%lf %c %lf
请点击输入图片描述
然后需要检测输入是否是正确的,检查是不是+ - * / %,在这里要用到switch函数,用来看operation变量是否别传入了正确的值。
switch(operation)
{
case '+':
printf........
}
具体的运算我们只需要再case之后的printf语句中设定和输出就可以了。
请点击输入图片描述
由于除法和取余运算比较特殊,我们单独说明。除法的除数不能为零,所以除法需要检测除数是否为零,只需要用if else语句就可以,if(number2 == ),取余运算符对于浮点数没有意义,所以将浮点数转换为long类型,强制类型转换,if((long)number2 == 0) else ,这样整个代码就完成了。
请点击输入图片描述
简单计算器的编辑并不难,但是要注意一些细节,除法的处理要注意除数不能为零的情况,而且取模运算要将两个操作数转化为整型,当然,作为真正的计算器,只实现这些功能是不够的,还需要更多的功能,不过有一个好的开始也不错。
下面我们就运行一下这个程序吧。25*13的值和8%5的值。可以看到是我们期望的值。
请点击输入图片描述
请点击输入图片描述
方法一:
#include <stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
struct complex multiply(struct complex x, struct complex y)
struct complex{
int real
int imag
}
int main()
{
struct complex a,b,s
scanf("%d%d%d%d",&a.real,&a.imag,&b.real,&b.imag)
s=multiply(a,b)
printf("(%d+%di)*(%d+%di)=%d+%di\n",a.real,a.imag,b.real,b.imag,s.real,s.imag)
return 0
}
struct complex multiply(struct complex x, struct complex y)
{
struct complex m
m.real=x.real*y.real-x.imag*y.imag
m.imag=x.imag*y.real+x.real*y.imag
return m
}
方法二:
#include<stdio.h>
int main()
{
int a,b,c,d,e,f
scanf("%d %d %d %d",&a,&b,&c,&d)
e = a * c - b * d
f = a * d + b * c
printf("(%d+%di)*(%d+%di)=%d+%di\n",a,b,c,d,e,f)
}
我给你写一个简单的计算器
程序
,你可以看一下。如果需要更多的功能,那么还要更复杂一些。不是一句话可以说明白的。要用到很多
函数
的调用,和函数的方法。#include
"stdio.h"
void
main()
{
int
a,b,result
char
m
printf("请输入需要计算的数:\n")
scanf("%d
%d",&a,&b)
printf("请输入加、减、乘或除\n")
scanf("%c",&m)
if(m=="+")
//判断是否进行加法运算,以下同理
result=a+b
else
if(m=="-")
result=a-b
elsee
if(m=="*")
result=a*b
else
if(m=="/")
result=a/b
else
printf("您输入有误\n")
//如果输入的
符号
非加减乘或是除,报错
printf("计算结果为:%d\n",result)
//最后输出结果
}