如何编程加减
① c语言编写加减计算程序
#include <stdio.h>
main (void)
{
int a,b,c;
char op;
scanf ("%d%c%d",&a,&op,&b);//最好空格去掉,这样就可以直接写成a+b或者a-b。如果有空格的话要记得空格也要打a + b。要不会出现错误 ,而且输入的时候需要用地址符&····
if(op=='+')
{c=a+b;}
if(op=='-')
{c=a-b;}
printf("%d%c%d=%d\n",a,op,b,c);//楼主这句应该放在数据处理完后。。要不你输出的a,op,b都是在没处理过的数,也就是原来的值,而且最好是把,去掉,这样更美观 ,而且printf后面不需要&。。。切记。而且没必要那样输出。请楼主看我的printf```
}
② C语言编程中,怎样使输出的加减乘除是运算符
#include<stdio.h>
#include<string.h>
#define N 100
typedef struct{ //操作数栈
float d[N];
int len; //len相当于top
}stacks,*lists;
typedef struct{ //运算符栈
char c[N];
int len; //len相当于top
}stack,*list;
int init(list p); //stack 初始化
int inits(lists p); //stacks 初始化
int pushs(lists p,float m); // stacks 入栈
int push(list p,char c); //stack 入栈
int pops(lists p,float *m); //stacks 出栈
int pop(list p,char *c); //stack 出栈
int in(char c); //判断C是否为数据 是则返回 1 否则 返回 0
char pre(char s,char c); //判断s c的优先级 s>c return '>'; s<c return '<';s=c return '=' ;
float operate(float a,char t,float b); //对a b进行t(+-*/)运算 return a+b or a-b, a*b ,a/b
float value(char s[]); //求表达式S 的值
void main(){
char s[N]; int n; float f;
printf("*******************Express Evaluate***********************\n");
while(1){
printf("please input a express\n");
scanf("%s",s); //输入表达式
n=strlen(s); //求表达式的长度
printf("express length=%d\n",n); //输出表达式的长度
s[n]='#'; //在表达式尾部插入'#' 注: # 表示操作结束
f=value(s); //计算表达式的长度
printf("f=%.5f\n",f); //输出表达时的值 注 只输出前五位小数
printf("continue input 1,break input 0\n");
scanf("%d",&n); printf("\n"); //判断是否继续进操作 是则输入 1,否则输入 0
if(!n) break; }
}
int init(list p){
if(!p) {printf("Error,init stack NULL\n"); return 0;}
p->len=0;
return 1;
}
int inits(lists p){
if(!p) {printf("Error,init stacks NULL\n"); return 0;}
p->len=0;
return 1;
}
int pushs(lists p,float m){
if(!p) {printf("Error,pushs stacks NULL\n"); return 0;}
p->d[p->len++]=m; return 1;
}
int push(list p,char c){
if(!p) {printf("Error,push stack NULL\n"); return 0;}
p->c[p->len++]=c; return 1;
}
int pops(lists p,float *m){
if(!p) {printf("Error,push stacks NULL\n"); return 0;}
*m=p->d[--p->len]; return 1;
}
int pop(list p,char *c){
if(!p) {printf("Error,push stack NULL\n"); return 0;}
*c=p->c[--p->len]; return 1;
}
int in(char c){ //判断C是否为数据 是则返回 1 否则 返回 0
if(c>='0'&&c<='9'||c=='.') return 1; return 0;}
char pre(char s,char c){ //判断s c的优先级 s>c return '>'; s<c return '<';s=c return '=' ;
char m= '<' , n= '=' , k='>' , r;
if((s=='-')||(s=='+')){
if((c=='*')||(c=='(')||(c=='/'))
r=m;
else r=k; }
if((s=='*')||(s=='/')){
if((c=='(')) r=m;
else r=k; }
if(s=='('){
if(c==')') r=n;
else r=m; }
if(s==')')
r=k;
if(s=='#') {
if(c=='#') r=n;
else r=m; }
return r;
}
float operate(float a,char t,float b){ //对a b进行t(+-*/)运算 return a+b or a-b, a*b ,a/b
if(t=='-') return a-b; if(t=='+') return a+b;
if(t=='*') return a*b; if(t=='/') return a/b; }
float value(char s[]){
stacks opnd; stack optr; char *p,*pr,x,t; float a,b,m=0;
inits(&opnd); init(&optr); int k=0,i,tp=10;
push(&optr,'#'); //将'#'压入栈optr中,作结束标志
p=pr=s; //初始化 指针 p pr 使pr p 指向 表达式
while(*p!='#'||optr.c[optr.len-1]!='#'){//当p指向的操作符 和optr 中的栈顶元素都为'#'时 操作结束
if(in(*p)) //如果p指向数字 则把 数字字符串转化为实型(float)数据 并存入栈opnd中
{
m=0; k=0; tp=10;
while(in(*p)) p++; //使p指向下一个运算符
while(pr!=p)
{
if(*pr!='.') //如果pr指向小数点 则跳过
m=(m+*(pr++)-'0')*10; //将单个字数字符转化为数据 并逐位求和
else{ //如 12.3 -> 1230
k=p-pr; pr++; }
}
for(i=0,tp=10;i<k;i++) //求出除数tp 使1230除以tp(100)等于 12.3
{
tp=tp*10;
if(i==k-1)
tp=tp/10;
}
pushs(&opnd,m/tp); //输入栈opnd中
}
else switch(pre(optr.c[optr.len-1],*p)){
case'<':push(&optr,*p);p++;pr=p;break;
case'=':pop(&optr,&x);p++;pr=p;break;
case'>':pop(&optr,&t); pops(&opnd,&b); pops(&opnd,&a); //输出一个操作符和两个数据
pushs(&opnd,operate(a,t,b));break;} //运算
}
return opnd.d[opnd.len-1]; //返回表达式的值
}
③ C++编程 加减乘除编法
啥意思,直接加减乘除就好了啊,连重载运算符都不用,都是二目运算符,把变量传进去计算就得出结果了啊。
④ 加减乘除的c语言编程怎么写
c语言的加减乘除可以这样写,假设有int变量a,b,c
加法:c=a+b
减法:c=a-b
乘法:c=a*b
除法:c=a/b
⑤ 如何利用c语言编出加减乘除的编程
这个加减乘除的功能有要求么,不需要弹出计算器一样的吧?
#include<stdio.h>
void
main()
{
float
fValue1,fValue2;
char
cStr;
printf("请输入两个数值:\n");
scanf("%f",&fValue1);
scanf("%f",&fValue2);
printf("请输入相关操作(+
-
*
/)");
getchar();
scanf("%c",&cStr);
switch(cStr)
{
case
'+':
{
printf("%.2f+%.2f
=
%.2f\n",fValue1,fValue2,fValue1+fValue2);
break;
}
case
'-':
{
printf("%.2f-%.2f
=
%.2f\n",fValue1,fValue2,fValue1-fValue2);
break;
}
case
'*':
{
printf("%.2f*%.2f
=
%.2f\n",fValue1,fValue2,fValue1*fValue2);
break;
}
case
'/':
{
printf("%.2f/%.2f
=
%.2f\n",fValue1,fValue2,fValue1/fValue2);
break;
}
default:printf("对不起!没有相关操作运算~\n");
}
}
⑥ 加减号在c语言中怎么表示,比如A加减B怎么表示
作为编程语言,在运算时,一个表达式只可以有一个结果。
所以在任何的编程语言中,都不会支持±这个操作。
要实现A±B,只能分别计算A+B和A-B,并且分别将值保存在不同变量中。
如果该操作频繁使用,可以将其封装为函数。
如,计算a±b并存储于参数数组c的函数可以写作:
voidjiajian(inta,intb,intc[2])
{
c[0]=a+b;
c[1]=a-b;
}
这里的a,b,c的类型均设置为int,具体类型可以根据实际需要修改。
⑦ 数控车床编程时如何加减刀具的尺寸
假如你现在用1号刀(T0101)车外圆,直径要求是100.0mm但车出来是100.1mm(大了0.1mm)那么就要改刀补了
1.按 OFFSET/SETTING键
2.再按屏幕下方的形状
3.光标移到1号刀的x方向
4.按-0.1
5.按屏幕下面的+输入(带了加号的那个输入)
{减号输入不要按}
⑧ C语言编程 100以内整数加减法
srand(time(0));
inta[20];
for(inti=0;i<20;i++)
{
a[i]=rand()%100;
}
for(inti=10;i<20;i+=2)
{
if(a[i]<a[i+1])
{
intt=a[i];a[i]=a[i+1];a[i+1]=t;
}
}
intscore=0;
for(inti=0;i<20;i+=2)
{
charc=i<10?'+':'-';
printf("%d%c%d=几? ",a[i],c,a[i+1]);
intx;
scanf("%d",&x);
if((i<10&x=a[i]+a[i+1])|(i>=10&x=a[i]-a[i+1]))
{
score+=10;
cout<"回答正确"<<endl;
}
elsecout<"回答错误"<<endl;
}
switch(score)
{
case0:
case10:
case20:
case30:
case40:
case50:cout<<"要加油哦"<<endl;break;
case60:
case70:
case80:cout<<"真不错哦"<<endl;break;
case90:cout<<"你真棒"<<endl;break;
case100:cout<<"酷毙了"<<endl;break;
default:;
}
⑨ 怎么用C语言编写一个随机两位数的加减法的程序
随机生成50组数字(一组3个,2个用来计算,另一个用来凑加法或是减法)-->批量生成结果-->输出算式-->获取输入结果-->给出得分
⑩ 如何C++编写一个加减乘除计算机
#include <stdlib.h>
#include <iostream>
using namespace std;
void main()
{
int n=1;
do
{
char signe,test[20]={"\0"},str1[10]={"\0"},str2[10]={"\0"};
int num1,num2,i=0,j=0,k=0;
cout<<"输入运算(如35+29): ";
cin>>test;
while(test[i])
{
str1[i++]=test[i];
if(test[i]=='+'||test[i]=='-'||test[i]=='*'||test[i]=='/')break;
}
signe = test[i++]; //取运算符号
while(test[i])
{
str2[j++]=test[i++];
}
num1 = atoi(str1);
num2 = atoi(str2);
if (signe=='+')cout<<num1<<" + "<<num2<<" = "<<num1+num2<<endl;
if (signe=='-')cout<<num1<<" - "<<num2<<" = "<<num1-num2<<endl;
if (signe=='*')cout<<num1<<" * "<<num2<<" = "<<num1*num2<<endl;
if (signe == '/')
{
if (num2 == 0)
{
cout<<"除数不能为0."<<endl;return;
}
cout<<num1<<" / "<<num2<<" = "<<num1*1.0/num2<<endl;
}
cout<<"输入0---退出! 1---继续运算."<<endl;
cin>>n;
}while(n);
}