用c语言编写一个计算机程序
计算机的-*+%都要有怎样实现呀高手们说说你的回答给了我提示谢谢但是你的程序不可以进行运算如输入6+9不可以得出15但还是谢谢你了...
计算机的-*+% 都要有
怎样实现呀 高手们 说说
你的回答给了我提示
谢谢 但是你的程序不可以进行 运算
如 输入6+9不可以得出15 但还是谢谢你了 展开
怎样实现呀 高手们 说说
你的回答给了我提示
谢谢 但是你的程序不可以进行 运算
如 输入6+9不可以得出15 但还是谢谢你了 展开
6个回答
展开全部
我对你提出的问题的题意的理解是编一个计算器程序。。。。。。。。。如果要是那样子的话我给出代码:
#include <stdio.h>
int main()
{
char cp;
int a, b;
scanf("%d %c %d", &a, &cp, &b);
if (cp == '-')printf("%d", a - b);
else if(cp == '+')printf("%d", a + b);
else if (cp == '*')printf("%d", a * b);
else if (cp == '%')printf("%d", a % b);
return 0;
}
如果要知道这几个符号在机器中的实现机理的话:
+和-不说了*就相当于多做几遍加法。而%是用位运算之类的方法进行运算的所以%的效率最低
不知道是不是你的编译器有问题我的程序运行起来是得15的
你是否正确输入了????
#include <stdio.h>
int main()
{
char cp;
int a, b;
scanf("%d %c %d", &a, &cp, &b);
if (cp == '-')printf("%d", a - b);
else if(cp == '+')printf("%d", a + b);
else if (cp == '*')printf("%d", a * b);
else if (cp == '%')printf("%d", a % b);
return 0;
}
如果要知道这几个符号在机器中的实现机理的话:
+和-不说了*就相当于多做几遍加法。而%是用位运算之类的方法进行运算的所以%的效率最低
不知道是不是你的编译器有问题我的程序运行起来是得15的
你是否正确输入了????
展开全部
1):首先要知道语言的层次结构,通常会有直接使用“+”“-”“*”“%”语言都是高级语言。这些语言写的代码经过编译前端编译后生成中间代码,最后经过编译后端处理成目标代码,也就是在目标平台上可执行的二进制代码。
2):要知道计算机能执行的只是二进制的代码。无论是高级语言表达式,如(1+2),还是汇编语言,add r1,r2,r3. 都要翻译成目标平台的二进制代码。
如果你学过微型计算机原理,应该知道一个汇编指令,最终要执行还得用处理器的微指令来表达。
3):最后这些微指令转化成电信号,控制处理器内的众多的与或非门,来实现你想要做的运算。
2):要知道计算机能执行的只是二进制的代码。无论是高级语言表达式,如(1+2),还是汇编语言,add r1,r2,r3. 都要翻译成目标平台的二进制代码。
如果你学过微型计算机原理,应该知道一个汇编指令,最终要执行还得用处理器的微指令来表达。
3):最后这些微指令转化成电信号,控制处理器内的众多的与或非门,来实现你想要做的运算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有些小麻烦 但是一定能算出
#include<stdio.h>
int main()
int a,b,c,d;
int add(int a,int b);
int jian(int a,int b);
int cheng(int a,int b);
int chu(int a,int b);
int (*p)(int a,int b);
printf("please enter 1or2or3or4");
printf("\n");
scanf("%d",&d);
if(d==1)
p=add;
if(d==2)
p=jian;
if(d==3)
p=cheng;
if(d==4)
p=chu;
printf("please enter a and b");
printf("\n");
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("%d",c);
return 0;
}
int add(int a,int b)
{
int c;
c=a+b;
return (c);
}
int jian(int a,int b)
{
int c;
c=a-b;
return (c);
}
int cheng(int a,int b)
{
int c;
c=a*b;
return(c);
}
int chu(int a,int b)
{
int c;
if(b==0)
return(0);
else c=a/b;
return (c);
}
#include<stdio.h>
int main()
int a,b,c,d;
int add(int a,int b);
int jian(int a,int b);
int cheng(int a,int b);
int chu(int a,int b);
int (*p)(int a,int b);
printf("please enter 1or2or3or4");
printf("\n");
scanf("%d",&d);
if(d==1)
p=add;
if(d==2)
p=jian;
if(d==3)
p=cheng;
if(d==4)
p=chu;
printf("please enter a and b");
printf("\n");
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("%d",c);
return 0;
}
int add(int a,int b)
{
int c;
c=a+b;
return (c);
}
int jian(int a,int b)
{
int c;
c=a-b;
return (c);
}
int cheng(int a,int b)
{
int c;
c=a*b;
return(c);
}
int chu(int a,int b)
{
int c;
if(b==0)
return(0);
else c=a/b;
return (c);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单
#include <stdio.h>
main()
{
int a=10;
a=a - a * a + a % a;
printf("%d",a);
}
#include <stdio.h>
main()
{
int a=10;
a=a - a * a + a % a;
printf("%d",a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询