⑴ 用c語言編寫一個簡單的加減乘除計算器,要求如圖
#include<stdlib.h>
#include<string.h>
intCalculate(char*input,float*ret)
{
intreturnRet=0;
floatnum1,num2,symbol;
intlen=strlen(input);
char*num1Str=(char*)malloc(sizeof(char)*len);
char*num2Str=(char*)malloc(sizeof(char)*len);
memset(num1Str,0,len);
memset(num2Str,0,len);
intgetSymbol=0;
for(inti=0,j=0;i<len;i++)
{
if(input[i]=='+'||input[i]=='-'||input[i]=='*'||input[i]=='/')
{
symbol=input[i];
getSymbol=1;
continue;
}
if(getSymbol==0)
num1Str[i]=input[i];
else
num2Str[j++]=input[i];
}
num1=atof(num1Str);
num2=atof(num2Str);
if(symbol=='+')
*ret=num1+num2;
elseif(symbol=='-')
*ret=num1-num2;
elseif(symbol=='*')
*ret=num1*num2;
if(symbol=='/')
{
if(num2!=0)
*ret=num1/num2;
else
returnRet=1;//dataerror
}
free(num2Str);
free(num1Str);
returnreturnRet;
}
intmain(void)
{
floatret;
charinput[100];
memset(input,0,sizeof(input));
scanf("%s",input);
if(Calculate(input,&ret)==0)
printf("%.2f",ret);
else
printf("dataerro");
return0;
}
⑵ 用C語言編寫一個簡單加減乘除的程序
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
main()
{
int
a,b,c,d,result,i;
char
f[]={'+','-','*','/'};
while(1)
{
srand(time(NULL));
a=rand()%100;
b=rand()%100;
c=rand()%4;
switch
(c)
{
case
0:
d=a+b;break;
case
1:
d=a-b;break;
case
2:
d=a*b;break;
case
3:
d=a/b;break;
}
printf("輸入結果:%d%c%d=",a,f[c],b);
i=0;
while
(i<2)
{
scanf("%d",&result);
if
(result==d&&i<2)
{printf("你答對了^_^\n");
break;
}
else
i++,printf("你答錯了%d次:",i);
if
(i==2)
{printf("\n答案:%d\n",d);}
}
}
}
⑶ C語言計算加減乘除
簡單寫了一個如下:
#include<stdio.h>
#include<string.h>
intmain()
{
doublea,b;
charop;
scanf("%lf%c%lf",&a,&op,&b);
if(op=='+'){
printf("%g+%g=%g",a,b,a+b);
}
elseif(op=='-'){
printf("%g-%g=%g",a,b,a-b);
}
elseif(op=='*'){
printf("%g*%g=%g",a,b,a*b);
}
elseif(op=='/'){
printf("%g/%g=%g",a,b,a/b);
}
return0;
}
⑷ 用C語言編寫一個能加減乘除的程序
如果要輸入加減乘除字元串然後輸出結果 那網路搜索 C語言 四則運算 應該有很多源碼
⑸ c語言 加減乘除 順序
先加減後乘除。
C語言中的加號、減號與數學中的一樣,乘號、除號不同;另外C語言還多了一個求余數的運算符,就是 %。
不同類型的除數和被除數會導致不同類型的運算結果:
當除數和被除數都是整數時,運算結果也是整數;如果不能整除,那麼就直接丟掉小數部分,只保留整數部分,這跟將小數賦值給整數類型是一個道理。一旦除數和被除數中有一個是小數,那麼運算結果也是小數,並且是 double 類型的小數。
(5)c語言簡單加減乘除擴展閱讀
取余,也就是求余數,使用的運算符是 %。C語言中的取余運算只能針對整數,也就是說,% 的兩邊都必須是整數,不能出現小數,否則編譯器會報錯。
另外,余數可以是正數也可以是負數,由 % 左邊的整數決定:
如果 % 左邊是正數,那麼余數也是正數;
如果 % 左邊是負數,那麼余數也是負數。
⑹ C語言實現加減乘除運算
按照你的程序運行後。。。在輸入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");
}
⑺ 求加減乘除c語言代碼
加減乘除還有什麼代碼啊。
直接 變數名+運算符+變數名就可以了啊。
注意除法 /是整除符號,如果符號兩邊都是整數(int型),那麼結果值保留整數,小數將被忽略。 如果要精確到小數,'/'兩邊至少有一個是浮點數(float或double)。
注意混合運算結果是按照表達式中數據表達范圍最大的數據類型,例如:整數和浮點數混合運算,結果返回是浮點數。
⑻ 簡單的c語言加減乘除運算
#include"stdio.h"
intchuli(inti);
voidmain()
{
inta=0,i=0,x=0,u=0,s[100],zi,b=0;
charc,f[100];
for(i=0;;i++)
{
for(x=0;(c=getchar())>='0'&&c<='9';x++)
{
u=c-'0';
if(x==0)
zi=u;
elsezi=zi*10+u;
}
s[a]=zi;
if(c!='['&&c!=']')
f[a++]=c;
if(c=='[')
s[0]=chuli(i);
if(c=='=')
break;
}
for(a=0;a<=i;a++)
{
x=a+1;
if((f[a]=='*'||f[a]=='/')&&b==0){u=a;b=1;}
if(f[a]=='+'||f[a]=='-')b=0;
if(f[a]=='*'){s[u]=s[u]*s[x];f[a]='+';s[x]=0;}
if(f[a]=='/'){s[u]=s[u]/s[x];f[a]='+';s[x]=0;}
}
for(a=0;a<=i;a++)
{
x=a+1;
if(f[a]=='+'){s[0]=s[0]+s[x];}
if(f[a]=='-'){s[0]=s[0]-s[x];}
}
printf("%d",s[0]);
}
intchuli(inti)
{
intshu[100],d=0,f=0,g=0,ha,l=0,q=0;
charw,fu[100];
for(d=0;;d++)
{
for(f=0;(w=getchar())>='0'&&w<='9';f++)
{
g=w-'0';
if(f==0)ha=g;
elseha=ha*10+g;
}
shu[l]=ha;
if(w!='['&&w!=']')fu[l++]=w;
if(w==']')break;
}
for(l=0;l<=d;l++)
{
g=l+1;
if((fu[l]=='*'||fu[l]=='/')&&q==0){f=l;q=1;}
if(fu[l]=='+'||fu[l]=='-')q=0;
if(fu[l]=='*'){shu[f]=shu[f]*shu[g];fu[l]='+';shu[g]=0;}
if(fu[l]=='/'){shu[f]=shu[f]/shu[g];fu[l]='+';shu[g]=0;}
}
ha=shu[0];
for(l=0;l<=d;l++)
{
g=l++;
if(fu[l]=='+')ha=ha+shu[g];
if(fu[l]=='-')ha=ha-shu[g];
}
ha=99;
printf(" %d ",ha);
returnha;
}
⑼ 用c語言編寫一個簡易加減乘除運算,最好加上中文解釋,謝謝
#include <stdio.h>//望採納!!!
int main(void)
{
int a,b,c;//a為數一,b為數二,c用來保存運算結果
char ch,yn;
do {
printf ("請輸入數1:");
scanf("%d",&a);
rewind(stdin);//清空鍵盤緩沖區
printf("請輸入數2:");
scanf("%d",&b);
rewind(stdin);
printf("請輸入運算符(+,-,*,/):");
scanf("%c",&ch);
rewind(stdin);
while(ch != '+' && ch != '-'&& ch != '*'&& ch != '/')//判斷輸入的運算符是否符合,直到正確為止
{
printf("您輸入的運算符有誤!!!請重新輸入!!!\n");//提示錯誤信息
printf("請輸入運算符(+,-,*,/):");
scanf("%c",&ch);
rewind(stdin);
}
if(ch=='+')
{
c=a+b;
if(c>1000)
{
printf("計算錯誤,結果超出范圍(結果不能大於1000)!!!\n");
}
else{
printf("%d+%d=%d",a,b,c);
}
}
if(ch=='-')
{
c=a-b;
if(c<0)
{
printf("計算錯誤,結果超出范圍(結果不能小於0)!!!\n");
}
else{
printf("%d-%d=%d",a,b,c);
}
}
if(ch=='*')
{
c=a*b;
if(c>1000)
{
printf("計算錯誤,結果超出范圍(結果不能大於1000)!!!\n");
}
else{
printf("%d*%d=%d",a,b,c);
}
}
if(ch=='/')
{
c=a/b;
if(c<0)
{
printf("計算錯誤,結果超出范圍(結果不能小於0)!!!\n");
}
else{
printf("%d/%d=%d",a,b,c);
}
}
printf("是否繼續使用本程序?(y/n):");
scanf("%c",&yn);
rewind(stdin);
}while(yn=='y' || yn=='Y');
}
⑽ 怎樣用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器
用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器的方法:
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File;