當前位置:首頁 » 編程語言 » c語言加減乘除運算編程

c語言加減乘除運算編程

發布時間: 2023-08-22 18:40:44

① 用c語言設計一個簡單的加減乘除計算器 具體需要這樣做

1、打開visual C++ 6.0-文件-新建-文件-C++ Source File。

2、輸入預處理命令和主函數:#include /*函數頭:輸入輸出頭文件*/,void main()/*空類型:主函數*/。

3、定義變數:int a,b,d; /*定義變數的數據類型為整型*/,char c;/*定義變數的數據類型為字元型*/。

4、輸入四則運算式:printf(輸入如「3*4」或「5+2」的四則運算式:);/*輸出文字提示*/scanf(%d%c%d,&a,&c,&b);/*輸入四則運算式*/。

5、判斷運算符號:switch(c) /*判斷運算符號*/{case'+':d=a+b;break;/*進行加法6、運算*/case'-':d=a-b;break;/*進行減法運算*/case'*':d=a*b;break;/*進行乘法運算*/case'/':d=a/b;break; /*進行除法運算*/}。

7、輸出結果:printf(%d%c%d=%d\n,a,c,b,d);/*輸出結果*/。

② 請問怎麼用c語言寫一個可以實現加減乘除四則運算的計算器!

#include<stdio.h>

void
js(float*i,intj,charc)
{
floatm;
scanf("%f",&m);
if(c=='*')
i[j]=i[j]*m;
else
i[j]=i[j]/m;
}

voidjs2(float*i,char*c,intj,intk)
{
intl=0;
for(into=0;o<=k;o++)
{
if(c[o]=='+')
i[l+1]=i[l]+i[l+1];
else
i[l+1]=i[l]-i[l+1];
l++;
}
}

int
main(void)
{
intic=0,j=0,k=0;
floati[100];
charc[100];
while(1)
{
if(ic==0)
{
scanf("%f",&i[j++]);
ic=1;
}
if(ic=1)
{
c[k++]=getchar();
if(c[k-1]=='*'||c[k-1]=='/')
{
js(i,j-1,c[k-1]);
k--;
continue;
}
elseif(c[k-1]==' ')
break;
ic=0;
}
}
js2(i,c,j-1,k-2);
printf("%f",i[j-1]);
return0;
}

演算法流程:

1,如果讀入數字就把它存入數組中,

2,如果讀入加,減號就存如另一個數組用,如果讀入乘除號,就再讀入一個數字,從存數字的數組拿出兩個數字進行乘除運算。把結果存入數組中,這么重復直到讀入回車鍵的符號。

3,讀到回車符號後,就從存符號的數組中拿出一個符號,再從存數字的數組中拿出兩個數字進行相應計算,接著再拿出一個數字一個符號和之前計算結果進行相應計算,一直重復,直到所有符號都拿出來了。

4,剩下的最後一個數字就是計算結果。


註:這個是我是我很久之前回答別人的,地址是https://..com/question/454652508527253645

③ 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語言加減乘除運算代碼

方法如下:

設備:華為筆記本。

系統:win7。

軟體:Code Blocks。

版本:8.0.11。

1、首先打開Code Blocks軟體,新建一個C語言文件,如下圖所示。

⑤ c語言實現簡單的加減乘除

1、打開C-Free5.0新建一個空白頁面,然後將C語言的基礎格式寫完,注意格式縮進。如下圖所示。

⑥ 用C語言怎樣實現計算器加減乘除功能

  1. 我學c++時寫的

    #include<iostream.h>
    #include "string"

    int count(int a,int b,char c)
    {
    if(c=='+') return a+b;
    if(c=='-') return a-b;
    if(c=='/') return a/b;
    if(c=='*') return a*b;

    }

    void main()
    {
    char str[100];
    cin>>str;
    int number[10]={0};
    char sign[10];

    int i,j=0,k=0,m;
    int strlong=strlen(str);//#include "string"
    cout<<strlong;
    for(i=0;i<strlong;i++)
    {
    if(str[i]>='0'&&str[i]<='9')
    number[j]=number[j]*10+str[i]-48;

    else
    {j++;
    sign[k]=str[i];
    k++;}
    }
    j++;
    //cout<<j<<k;
    for(i=0;i<j;i++)
    cout<<number[i]<<endl;
    for(i=0;i<k;i++)
    cout<<sign[i]<<endl;

    for( i=0;i<k;i++)
    {
    if(sign[i]=='/'||sign[i]=='*')
    {number[i]=count(number[i],number[i+1],sign[i]);
    cout<<number[i];
    for(m=i;m<k-i;m++)
    {sign[m]=sign[m+1];number[m+1]=number[m+2];}
    k--;i--;}
    }
    for( i=0;i<k;i++)
    { if(sign[i]=='+'||sign[i]=='-')
    {number[i]=count(number[i],number[i+1],sign[i]);
    cout<<number[i];
    for(m=i;m<k-i;m++)
    {sign[m]=sign[m+1];number[m+1]=number[m+2];}
    k--;i--;}

    }

    for (i=0;i<3;i++)
    {cout<<number[i];
    }
    cout<<k;
    }


2.堆棧

#include "string"
#include "iostream"
#include<vector>
#include<list>
#include<cstdlib>
using namespace std;
//自定義類型 用於存儲 兩種數據類型
class newType
{
public:
bool flag;//true 為f false 為 c
union
{
float f;
char c;
}data;
};

//將字元串轉換為 數字數組和字元數組 (通用提取字元串中數字)
bool couvert(string str,vector<float> &numbers,vector<char> &chars,vector<newType> &all)//這里要使用引用
{
int len=str.length();
bool flag=true;
int pos=0;

for(int i=0;i<len;i++)
{
if(str[i]>='0'&&str[i]<='9'||str[i]=='.')
{
if (flag)
{
string substr=str.substr(i,len) ;
float f=atof(substr.data());
numbers.push_back(f);
//添加f到all向量中
newType n;
n.data.f=f;
n.flag=true;
all.push_back(n);

}
flag=false;
}
else
{
//chars.push_back(str[i]);
chars.push_back(str[i]);
newType n;
n.data.c=str[i];
n.flag=false;
all.push_back(n);
flag=true;
}
}//for
return true;
}

//計算沒有括弧的表達式
bool calculate(vector<float> numbers,
vector<char> chars,float &value)
{
//計算四者表達式 無括弧類型 1+2*3+4
int ii=0;
//先計算乘除
while(ii<chars.size())
//注意while(ii<(chars.size()-2)) 和while(ii<chars.size()-2) 區別
{
switch(chars[ii])
{
case '*':
numbers[ii]=numbers[ii]*numbers[ii+1];
numbers.erase(numbers.begin()+ii+1); //移除number[ii]後面的數
chars.erase(chars.begin()+ii); //移除chars[ii]
ii--;
break;
case '/':
numbers[ii]=numbers[ii]/numbers[ii+1];
numbers.erase(numbers.begin()+ii+1);
chars.erase(chars.begin()+ii);
ii--;
break;
}
ii++;
}

//只剩下加減 計算加減
ii=0;
while(ii<chars.size())
//注意while(ii<(chars.size()-2)) 和while(ii<chars.size()-2) 區別
{
switch(chars[ii])
{
case '+':
// cout<<"+::"<<numbers[ii]<<chars[ii]<<numbers[ii+1]<<endl;
numbers[ii]=numbers[ii]+numbers[ii+1];
numbers.erase(numbers.begin()+ii+1); //移除number[ii]後面的數
chars.erase(chars.begin()+ii); //移除chars[ii]
break;
case '-':
// cout<<"-::"<<numbers[ii]<<chars[ii]<<numbers[ii+1]<<endl;
numbers[ii]=numbers[ii]-numbers[ii+1];
numbers.erase(numbers.begin()+ii+1);
chars.erase(chars.begin()+ii);
break;
}
// ii++;
}

value=numbers[0];//得到值
return true;
}

//計算帶括弧的表達式

int calculate1( vector<newType> all,float &value)
{
int pos=0;
vector<float> numbers;
vector<char> chars;
float va=0;

for(int i=0;i<all.size();i++)
{
if (all[i].flag)//判斷是數字還是字元
{
cout<<"數字"<<i<<":"<<all[i].data.f<<endl;
}
else
{
cout<<"字元"<<i<<":"<<all[i].data.c<<endl;
if (all[i].data.c==')') //如果是右括弧 將之前的()之間的括弧內容
{ //用calculate計算 並替換

for (int j=pos+1;j<i;j++) //參數轉換
{
if (all[j].flag)
{
numbers.push_back(all[j].data.f);
} else{
chars.push_back(all[j].data.c);
}
}

calculate(numbers,chars,va);
numbers.clear();
chars.clear();

newType ne;
ne.data.f=va;

all.erase(all.begin()+pos,all.begin()+i+1);
all.insert(all.begin()+pos,ne);

i=pos+1;

}
else if (all[i].data.c=='(')
{
pos=i;//記錄此時左括弧的位置
}
}//else
}//for
for(int kk=0;kk<all.size();kk++)
{
if (all[kk].flag)
{
numbers.push_back(all[kk].data.f);
} else{
chars.push_back(all[kk].data.c);
}
}

for( i=0;i<all.size();i++)
{
if (all[i].flag)
{
cout<<all[i].data.f<<" ";
} else
{
cout<<all[i].data.c<<" ";
}

}
calculate(numbers,chars,value);

return 1;
} void main()
{
//
string str="10+(2*3+8)+(10*2)";
vector<float> numbers;
vector<char> chars;
vector<newType> all;
couvert(str, numbers, chars,all);
for(int i=0;i<all.size();i++)
{
if (all[i].flag)
{
cout<<all[i].data.f<<" ";
} else
{
cout<<all[i].data.c<<" ";
}

}
float value,value1;
// calculate(numbers,chars,value);
calculate1(all,value1);
cout<<value1;


}


這是我翻家底找到的 .

⑦ C語言作業,編程實現兩個整數的算數運算(加減乘除余)

#include<stdio.h>
main()
{
int a,b;
printf("Please input data a,b");
scanf("%d%d",&a,&b);
printf("\na+b=%d",a+b);
printf("\na-b=%d",a-b);
printf("\na*b=%d",a*b);
printf("\na/b=%d",a/b);
printf("\na%b=%d",a%b);
getch();
}

熱點內容
c語言中的temp 發布:2025-02-05 02:43:08 瀏覽:123
阿里雲伺服器共享電腦 發布:2025-02-05 02:42:18 瀏覽:417
伺服器有多少台電腦 發布:2025-02-05 02:40:41 瀏覽:447
安卓手機為什麼最新微信安裝不了 發布:2025-02-05 02:31:03 瀏覽:106
安卓手機什麼時候開售 發布:2025-02-05 02:14:15 瀏覽:660
編程車模型 發布:2025-02-05 02:09:55 瀏覽:681
雅馬哈天劍哪個配置好 發布:2025-02-05 02:00:35 瀏覽:170
我的世界國際服推薦118伺服器 發布:2025-02-05 01:50:48 瀏覽:46
普通電腦做伺服器怎麼操作 發布:2025-02-05 01:46:22 瀏覽:628
原神為什麼同伺服器加不起好友 發布:2025-02-05 01:41:03 瀏覽:337