當前位置:首頁 » 編程語言 » c語言中計算四則運算
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中計算四則運算

發布時間: 2023-08-30 17:23:09

c語言四則運算

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int n,n1;
char fun(int op){if(op==0)return '+';else if(op==1)return '*';else if(op==2)return '-';else return '/';}
int Compute( int a, int b, int op )
{
int p;
if(op==0)p=a+b;else if(op==1)p=a*b;else if(op==2)p=a-b;else p=a/b;
if(n==p){n1++;
return 1;}
else
return 0;
}
void Print(int flag)
{
if(flag==1)printf("Right!\n");
else
printf("Not correct!\n");
}
void main()
{
srand((unsigned)time(NULL));
int a,b,op,i=0,num;
while(true)
{
if(i==10)break;
a=rand()%10+1;
b=rand()%10+1;
op=rand()%4;
if(a%b==0&&a>=b)
{
i++;
printf("%d%c%d=",a,fun(op),b);
scanf("%d",&n);
num=Compute(a,b,op);
Print(num);
}
}
printf("you grade is:%d,you falsed %d!\n",n1*10,10-n1);
}

㈡ 用C語言編程實現一個簡單的四則運算計算器

#include <stdio.h>

//函數,讀數操作數
int getNextNum()
{
int ret;
scanf("%d",&ret);
return ret;
}

//函數,讀運算符
char getOpt()
{
return getchar();
}

//函數,計算
int caculate(int op1 , int op2 ,char opt)
{
if(opt=='+')return op1+op2;
if(opt=='-')return op1-op2;
if(opt=='*')return op1*op2;
if(opt=='/')return op1/op2;
return 0;
}

int main()
{
int op1,op2;
char opt;
//計算結果放在第一個操作數
op1 = getNextNum();
while(1)
{
opt = getOpt();
if ( opt == '=' ) break;
op2 = getNextNum();
op1 = caculate(op1,op2,opt);
}
printf("%d\n",op1);
}
return 0;
}

㈢ 如何使用c語言實現四則運算,詳細思路很重要啊(越詳細越好~),可以木有代碼(急)

1.判斷四則運算字元串的括弧是否匹配,可以用以個棧來計算,開始棧是空,從頭遍歷所有字元,找到'(',壓棧,找到')'彈出一個元素,遍歷完成以後如果棧是空表示正常,非空,或則中間出現問題都表示括弧不正常。
2.分解四則運算中的所有元素,把所有分解的元素放在隊列中,遍歷整個字元串,有switch分支,如果是0-9的字元用一個字元串存儲並和前面的字元組合起來,如果是'+''-''*''/'就把前面存儲數字的字元串當成一個元素放進隊列,並把當前運演算法符當成一個元素也放進隊列,遍歷完成以後所有的數據和運算符都分開了,比如234+456,會分解成234,+,456三個元素。
3.然後分解隊列,用兩個棧,一個存放所有元素用A表示,一個存放運算符號用B表示(這個是臨時變數),從頭開始遍歷整個隊列,如果是數據就把數據壓到A棧。如果元素是運算符就分開處理,如果是'(''+''-''*''/'')'處理方法都不一樣,詳細說明太復雜,整體的思想就是把數據和運算符的順序排列好(上面的元素排列以後變成234,456,+;可以參考後序排列)。
4.計算:依次彈出A中的元素,如果是數據把數據壓在棧C中,如果是運算符,從C中彈出該運算符需要的數據,然後把計算結果再次壓進棧C,當A遍歷完以後,C頂元素就是計算結果。
整個大題思路:1.檢查,2.分解,3.中序排列,4.後序排列,5.計算

㈣ C語言中的分數四則運算

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void operation()
{
int a,b,c,d;
int x,y;
int i,j,t;
char ch; 
printf("-------歡迎進入分數四則運算的操作界面-------\n\n");
printf("請輸入第一個分數的分子:"); 
scanf("%d",&b);
printf("請輸入第一個分數的分母: ");
scanf("%d",&a);
if(!a)
{
printf("Error,分母不能為0!\n");
exit(0);
}
printf("請輸入第二個分數的分子:");
scanf("%d",&d);
printf("請輸入第二個分數的分母:");
scanf("%d",&c);
if(!c)
{
printf("Error,分母不能為0!\n");
exit(0);
}

getchar();
printf("請輸入運算符號[ + - * / ]: ");
scanf("%c",&ch);
switch(ch)
{
case'+': x=a*c; y=b*c+a*d; break;
case'-': x=a*c; y=b*c-a*d; break;
case'*': x=a*c; y=b*d; break;
case'/': x=a*d; y=b*c; break;
default: printf("Error,不存在該運算符號!\n"); exit(0);
}
printf("通分後的分母是%d,分子是%d\n",x,y);

x>=y?(i=x,j=y):(i=y,j=x);
/*輾轉相除法(歐幾里德演算法)*/
    t=i%j;
    while(t)  
{
i=j;
j=t;
t=i%j;
}
/*更相減損術 */
    /*t=i-j;
while(t)
{
i=j;
j=t;
t=abs(i-j);
if(t==j)
break;
}*/

       if(y/x>=0)
{
x/=j;
     y/=j;
}
else
{
x=abs(x/j);
y=-abs(y/j);
}
        printf("運算結果如下:\n");
if(y%x==0)
printf("%d/%d %c %d/%d = %d\n",b,a,ch,d,c,y/x);
else
printf("%d/%d %c %d/%d =%d/%d\n",b,a,ch,d,c,y,x);
}

void main()
{
operation();
 } 
//轉載於微信公眾號:會說話的青鳥,這上面有詳細的講解,沒看懂可以去那參考一下哦

㈤ c語言編寫 編寫一個簡單的計算器,實現兩個整型數的四則運算。

#include<stdio.h>

int main()

{int a,b,c,err;

char op;

do

{scanf("%d%c%d",&a,&op,&b);

err=0;

if(a==0&&b==0)break;

if(op=='+')c=a+b;

if(op=='-')c=a-b;

if(op=='*')c=a*b;

if(op=='/')

if(b)c=a/b;else err=1;

if(op=='%')

if(b)c=a%b;else err=1;

if(err)printf("%d%c%d error! ",a,b,c);

else printf("%d%c%d=%d ",a,op,b,c);

}while(1);

return 0;

}

㈥ C語言編寫四則運算

請先給出明確答復:因為程序規定的是先輸入操作符,再輸入兩個操作數

解釋原因:請看下面部分的代碼

  1. 第一個scanf("%c",&oper);這一句要求輸入一個(注意是一個)字元格式的值,給oper;
  2. 如果你輸入一個數字、英文等等,假如你第一個輸入的是10,那oper就是1,而不是10,因為%c一次只能讀取一個字元;

  3. 接下來,輸入第二第三個,程序再往下就會拿oper判斷,如果oper等於-號,就會執行減法,如果等於+號就會執行加法;

  4. 所以你輸入的操作數是不會匹配任何運算符,就不能進行運算。

有無解決辦法:

調換語句順序:復制第一個printf那一行與第一個scanf那一行,注意這兩行printf在scanf的上面,把這兩句放到第二個scanf之後,第三個print之前。就能輸入 1 空格 + 空格 2 回車,這種的

㈦ 用C語言編程實現一個簡單的四則運算計算器

分類: 電腦讓耐/網路 >> 程序設計 >> 其他編程語言
問題描述:

編程:編程實現一個簡單的四則運算計算器:從鍵盤輸入一個四則運算表達式(沒有空格和括弧),遇等瞎滑數號"="說明輸入結束,輸出結果。

假設計算器只能進行加減乘除運算,運算數和結果都是整數,4種運算符的優先順序相同,按從左到右的順序計算(即:2+3*5先計算2+3,再計算5*5)。

示例:括弧內是說明

輸入

1+2*10-10/2=

輸出

10

解析:

#include <stdio.h>磨首

函數,讀數操作數

int getNextNum()

{

int ret;

scanf("%d",&ret);

return ret;

}

函數,讀運算符

char getOpt()

{

return getchar();

}

函數,計算

int caculate(int op1 , int op2 ,char opt)

{

if(opt=='+')return op1+op2;

if(opt=='-')return op1-op2;

if(opt=='*')return op1*op2;

if(opt=='/')return op1/op2;

return 0;

}

int main()

{

int op1,op2;

char opt;

計算結果放在第一個操作數

op1 = getNextNum();

while(1)

{

opt = getOpt();

if ( opt == '=' ) break;

op2 = getNextNum();

op1 = caculate(op1,op2,opt);

}

printf("%d\n",op1);

}

return 0;

}

㈧ 用c語言編寫四則運算,急呀!越簡單越好

用純粹的C語言實現,代碼如下:

#include<stdio.h>
intmain()
{
doublea,b;
scanf("%lf%lf",&a,&b);
printf("a+b=%lf,a-b=%lf,a*b=%lf",a+b,a-b,a*b);
if(b==0)
printf(",error! ");
else
printf(",a/b=%lf ",a/b);
return0;
}