c語言計算器加減乘除
㈠ c語言 簡單的計算器 只需要進行 加減乘除的運算 謝謝大神!!!
int main()
{
char exp[8];
printf("enter exp:\n");
scanf("%s",exp); //輸入類似於1+1 2*5這樣的式子,一次一個
switch(exp[1]){
case '+':
printf("%d\n",exp[0]-'0'+exp[2]-'0'); break;
case '-':
printf("%d\n",exp[0]-exp[2]); break;
case '*':
printf("%d\n",(exp[0]-'0')*(exp[2]-'0')); break;
case '/':
printf("%f\n",(exp[0]-'0')*1.0/(exp[2]-'0')*1.0); //1.0是為了轉化成浮點數好得到小數結果
};
return 0;
}
㈡ c語言計算器加減乘除流程圖
大概就是這個樣了.和你的程序對程的.
㈢ C語言簡易科學計算器加減乘除括弧
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,j,h,g,num[20]={0},z,m,n,s;//num[20]可以這樣初始化
charch[80],r,sign[20];
gets(ch);//字元串輸入
for(i=0;i<strlen(ch);i++)
{
s=0;
switch(ch[i])
{
case'+':sign[s]='+';s++;break;//缺少break;
case'-':sign[s]='-';s++;break;
case'*':sign[s]='*';s++;break;
case'/':sign[s]='/';s++;break;
case'(':sign[s]='(';s++;break;
case')':sign[s]=')';s++;break;
}
}/*讀入符號*/
do{
m=0;
num[m]=atoi(ch);
n=sizeof(num[0]);
for(i=n+2;i<=(z-n-2);i++)
{
ch[i-n-2]=ch[i];
}
m++;
}while(ch[0]==' ');/*進行數字的讀入轉換*/
/////發現下面好多死循環,怎麼可能會有結果呢////////////////
for(i=0;;i++)/*開始進行計算*/
{
if(sign[i]=='(')
{
for(j=i+1;j<=z;j++)
{
if(sign[j]==')')
{
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
}
}
}
}
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)//死循環
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
}
printf("%d ",num[0]);
r=getchar();
return0;
}
㈣ 怎樣用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器
用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器的方法:
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File;
㈤ c語言計算器加減乘除
#include<stdio.h>
intmain(){
doublea,b,d=0.0;
charc;
while(1){
printf("輸入一個算式,如:1+2:");
scanf("%lf%c%lf",&a,&c,&b);
intf=1;
switch(c){
case'-':
d=a-b;
break;
case'+':
d=a+b;
break;
case'*':
d=a*b;
break;
case'/':
d=a/b;
break;
default:
f=0;
printf("沒有這個運算符號! ");
break;
}
if(f==1){
printf("結果:%lf ",d);
}
}
return0;
}
㈥ 怎樣用C語言編寫計算器的加減乘除
#include<stdio.h>
void main()
{
float a,b;
char d;
printf("請輸入兩個數a,b:");
scanf("%f,%f"&a,&b);
printf("請輸入運算符號d");
scanf("%c",d);
switch(d)
{
case'+':printf("%f\n",a+b);break;
case'-':printf("%f\n",a-b);break;
case'*':printf("%f\n",a*b);break;
case'/':printf("%f\n",a/b);break;
default:printf("計算出錯\n");
}
}
㈦ 用C語言編寫一個簡單的加減乘除計算器,要求如圖
#include<stdio.h>
voidmain(){floata,b,c;chard,e;
scanf("%f%c%f",&a,&d,&b);e=1;
switch(d){
case'+':c=a+b;break;
case'-':c=a-b;break;
case'*':c=a*b;break;
case'/':if(b==0)e=0;elsec=a/b;break;
default:e=0;break;
}
if(e)printf("%.2f
",c);elseprintf("dataerro
");
}
㈧ C語言 編譯計算器可以分別計算加減乘除
#include<stdio.h>
#defineCLR_INTPUTwhile(getchar()!=' ')
intmain(void)
{
charch;
floatnum1,num2;
doublenum;
printf("輸入方式為(例n*n) ");
while(1)
{
while(scanf("%f",&num1)!=1)//確保輸入數據正確
{
printf("輸入有誤,請重新輸入第一個數 ");
CLR_INTPUT;
}
getchar();//清除空格符
while(scanf("%c",&ch)==1)
{
if(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')
{
printf("輸入有誤,請重新輸入運算操作 ");
CLR_INTPUT;
continue;
}
break;
}
getchar();//清除空格符
while(scanf("%f",&num2)!=1)
{
printf("輸入有誤,請重新輸入第二個數 ");
CLR_INTPUT;
}
CLR_INTPUT;//清除輸入緩沖
switch(ch)
{
case'+':num=num1+num2;
break;
case'-':num=num1-num2;
break;
case'*':num=num1*num2;
break;
case'/':num=num1/num2;
break;
default:printf("輸入運算有誤 ");
}
printf("%.2f%c%.2f=%.4lf ",num1,ch,num2,num);
}
return0;
}
程序還是有些BUG,對用戶輸入出錯提示的不夠。
㈨ 用C語言做一個計算器,能實現加減乘除混合運算
用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器的方法:
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File;
㈩ 用c語言編寫計算器有取余 階乘的 還有加減乘除的
給你一個全的:
#include<stdio.h>
#include<windows.h>
#include<math.h>
double EPS=10E-6;
double sum(double a,double b)
{
return a+b;
}
double sub(double a,double b)
{
return a-b;
}
double mul(double a,double b)
{
return a*b;
}
double divv(double a,double b)
{
return a/b;
}
int rem(int a , int b)
{
return a%b;
}
int addnumber(int c,int d)
{
int sum=0;
for(int i=c;i<=d;i++)
{
sum+=i;
}
return sum;
}
int factor(int n)
{
int f=1;
for(int i=1;i<=n;i++)
{
f*=i;
}
return f;
}
void displaymenu()
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n");
printf("*############高級計算器############* \n");
printf("************************************ \n");
printf("* ①加法運算 * \n");
printf("* ②減法運算 * \n");
printf("* ③乘法運算 * \n");
printf("* ④除法運算 * \n");
printf("* ⑤取余運算 * \n");
printf("* ⑥累加運算 * \n");
printf("* ⑦階乘運算 * \n");
printf("* ⊙結束運算 * \n");
printf("************************************ \n");
printf("************************************ \n");
}
void main()
{
int c,d; /*用於做四則運算的兩個數值的說明*/
double a,b; /*用來做累加函數的兩個參數值的說明*/
int intresult;
double result; /*用於保存表單運算中函數的返回值*/
int choice;
displaymenu();/*保存用戶選擇項目菜單項*/
while(1)
{
printf("請選擇你所進行運算項目的符號:");
scanf("%d",&choice);
switch(choice)
{
case 1: /*加法計算*/
printf("請輸入兩個數字:");
scanf("%lf%lf",&a,&b);
result=sum(a,b);
printf("%lf+%lf的計算結果是:%lf\n",a,b,result);
break;
case 2: /*減法計算*/
printf("請輸入兩個數字:");
scanf("%lf%lf",&a,&b);
result=sub(a,b);
printf("%lf-%lf的計算結果是:%lf\n",a,b,result);
break;
case 3: /*乘法計算*/
printf("請輸入兩個數字:");
scanf("%lf%lf",&a,&b);
result=mul(a,b);
printf("%lf*%lf的計算結果是:%lf\n",a,b,result);
break;
case 4: /*除法計算*/
{
scanf("%lf%lf",&a,&b);
if(b-0.0<EPS) printf("數字錯誤\n");
else
{
printf("請輸入兩個數字:");
result=divv(a,b);
printf("%lf/%lf的計算結果是:%lf\n",a,b,result);
}
break;
}
case 5: /*取余計算*/
printf("請輸入兩個數字:");
scanf("%d%d",&c,&d);
result=rem(c,d);
printf("%d % %d的計算結果是:%d\n",c,d,result);
break;
case 6: /*累加計算*/
printf("請輸入兩個整數");
scanf("%d%d",&c,&d);
intresult=addnumber(c,d);
printf("%d-%d的累加計算結果是:%d\n",c,d,intresult);
break;
case 7: //階乘計算
{
printf("請輸入一個大於0小於10的整數字");
scanf("%d",&c);
if(c<0||c>10)
{
printf("請輸入一個大於0小於10的整數字,數據錯誤。\n");
break;
}
intresult=factor(c);
printf("%d的階乘計算結果是:%d\n",c,intresult);
break;
}
case 0:
printf("謝謝使用。歡迎下次再用。\n");
return ;
default:
printf("選擇錯誤,程序結束\n");
break;
}
}
}