❶ c语言编写计算器程序
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1;
int num2;
int resule=0;
char sign;
setbuf(stdout,NULL);
printf("请输入两个要进行运算的数字,以逗号隔开:\n");
scanf("%d,%d",&num1,&num2);
sign=getchar();/*scanf从缓冲区中读取数,此句读取两个数之后的
回车符。否则回车符被下面的scanf语句读去赋给
sign */
printf("请输入运符号(+、-、*、/):\n");
scanf("%c",&sign);
if(sign!='+' && sign!='-' && sign!='*' && sign!='/'){
printf("您输入的运算符有问题!\n");
system("PAUSE");
return 0;
}
switch(sign){
case '+':resule=num1+num2;break;
case '-':resule=num1-num2;break;
case '*':resule=num1*num2;break;
case '/':
if(0==num2){
printf("当您使用除法时,您输入的第二个数不能用0!\n");
system("PAUSE");
return 0;
}
else
resule=num1/num2;
}
printf("%d",resule);
system("PAUSE");
return 0;
}
❷ C语言编程问题:分数计算器
所有数据都可以用分数来表示,比如整数可以认为分母为1,这样,所有数据可以这样保存(数据结构为:)
struct
{
intz;//分子
intm;//分母
};
我没写过具体的可以计算分数的计算器,下面是加减乘除和括号的计算器源代码,你参考一下,如果看懂了应该不难改,应该是数据结构课程里堆栈这一块的内容。
测试样例:
输入:
2*(3+6*(8/2+1))
输出:
66
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedefstructpriority
{
charsymb;
intpri;
}priority;
prioritykuPriority[7]={{'+',1},{'-',1},{'*',2},{'/',2},{'(',3},{')',3},{'