當前位置:首頁 » 編程語言 » c語言進行四則運算

c語言進行四則運算

發布時間: 2023-12-25 11:53:43

1. c語言編四則運算器程序

分類: 電腦/網沒賣絡 >> 程序設計 >> 其他編程語言
問題描述:

功能為;首先有一個界面問"請輸入你想進行運算的對象個數」

這個數在一至5之間

然後出來界面讓輸入算術式

然後輸入結果

然後有計算機判斷對錯散察帆

解析:

哈哈,剛好,我也在學C語言,碰巧,這幾天也正在思考編寫計算器的問題.網上應該能找到經典的C程序計算器,這個是我獨立寫出來的.

我只學到數組這里.所以沒用到堆棧,指針之類的.主要用數組,循環與函數調用實現.完全是入門級.

支持四則運算和指數運算(用h符)。

數據類型為float型。

算術式最大長度可以通過修改程序中的數組長度和「I」值更該,沒有具體規定,使用時要注意運算結果的溢出問題。

對錯誤的算沖雹術式有一定的檢查功能。

程序代碼如下:

#include<math.h>

float sss(float d[],char e[],int I)

{int i,n;

for(i=0;i<=I;n=++i)

{if(e[i]==0)

{printf("The answer is:-->: %f\n",d[i]);i=I;}

else

{if(e[i]-e[i+1]>-5)

{switch(e[i])

{case 80: d[i+1]=d[i]+d[i+1];break;

case 81: d[i+1]=d[i]-d[i+1];break;

case 90: d[i+1]=d[i]*d[i+1];break;

case 91: d[i+1]=d[i]/d[i+1];break;

case 100: d[i+1]=pow(d[i],d[i+1]);break;

default :printf("Sorry! Some Error unknow...");break;}

for(n=i;i<=I;i++)

{d[i]=d[i+1],e[i]=e[i+1];

if(e[i]==0) i=I;}

if(n==0) i=n-1;

else i=n-2;}}}}

main()

{float d[32];

char e[32];

int i,I=31,n;

printf("\n\n");

for(i=0;i<=I;i++)

{scanf("%f%c",&d[i],&e[i]);

switch(e[i])

{case '+': e[i]=80;break;

case '-': e[i]=81;break;

case '*': e[i]=90;break;

case '/': e[i]=91;break;

case 'h': e[i]=100;break;

case '=': e[i]=0,i=I;break;

default: printf("Oper %d is Error! --->- %c -ChangeTo:one of + - * / h =\n",i+1,e[i]);}}

printf("\n");

sss(d,e,I);}

直接從我的.c文件里復制出來的.

使用時輸入格式例如:123*456-789/369+852h2-741= 然後回車.

852h2表示852的2次方.記得以等號結束.不支持括弧(正在努力).

在這支持的32次運算(包括等號).

2. c語言用switch編寫一個簡單的四則運算程序

代碼如下:

#include <stdio.h>

int main()

{

float fFloat1=.0,fFloat2=.0;

char cOP=NULL;

printf("請輸入要進行四則運算表達式: ");

scanf("%f%c%f",&fFloat1,&cOP,&fFloat2);

switch(cOP)

{

case '+':

printf("%f+%f=%f ",fFloat1,fFloat2,fFloat1+fFloat2);

break;

case '-':

printf("%f-%f=%f ",fFloat1,fFloat2,fFloat1-fFloat2);

break;

case '*':

printf("%f*%f=%f ",fFloat1,fFloat2,fFloat1*fFloat2);

尺鉛埋 break;

case '/':

if(0!=fFloat2)

{

陵螞 printf("%f/%f=%f ",fFloat1,fFloat2,fFloat1/fFloat2);

}

else

{

printf("error! ");

}

break;

default:

printf("error! ");

break;

}

return 0;

}

(2)c語言進行四則運算擴展閱讀

switch語句和if語句的區別:

1、大於等於(>=)、小於等於(<=)的判斷用if語句,而等於(=)的判斷用switch語句。

2、switch語句中的case類似於if…else…else if…else,但是離散值激漏的判斷。(離散值的判斷自認為是等於情況的判斷)。

3、switch一般都可以及用if重寫,但是if不一定能用switch重寫。

4、不要忘了break.C#中break不寫是不行的,除了合並case的情況。

5、case中的值必須是常量,不能是變數、表達式。

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

1、打開CodeBlocks,新建一個空白文件,先定義頭文件和主函數,接著寫程序多大的主體:

4. 四則運算用c語言怎麼搞

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define ADD1 sizeof(kuohao)
#define ADD2 50
typedef struct kuohao{char a;struct kuohao *pre;}kuohao;
char *creat()
{
char *a;
a=(char*)malloc(ADD2*sizeof(char));
gets(a);
return a;
}
int judgekuohao(char *a)
{
kuohao *top,*tail,*t;
top=tail=(kuohao*)malloc(ADD1);
while(*a!='\0')
{
if(*a=='(')
{
t=top;
top=(kuohao*)malloc(ADD1);
t->a='(';
top->pre=t;
}
else if(*a==')')
{
if(top==tail)
return -1;
else
{
t=top;
top=top->pre;
free(t);
}
}
a++;
}
if(top==tail)
return 1;
else return -1;
}
char precede(char a,char b)
{
int i,j;
char compare[8][8]={' ','+','-','*','/','(',')','\0',
'+','>','>','<','<','<','>','>',
'-','>','>','<','<','<','>','>',
'*','>','>','>','>','<','>','>',
'/','>','>','>','>','<','>','>',
'(','<','<','<','<','<','=',' ',
')','>','>','>','>',' ','>','>',
'\0','<','<','<','<','<',' ','='};
for(i=0;i<8;i++)
if(compare[0][i]==a)
break;
for(j=0;j<8;j++)
if(compare[j][0]==b)
break;
return compare[j][i];
}
void run(char *a)
{
int b[50]={0},count;char c[50],t;
int i=0,j=0;char *d;c[0]='\0';
while(*a!='\0'||c[j]!='\0')
{
count=0;
if(*a<='9'&&*a>='0')
{
d=a;
while(*d<='9'&&*d>='0')
{
d++;
count++;
}
while(count>0)
{
b[i]+=(int)((*a-'0')*pow(10,count-1));
count--;
a++;
}
i++;
}
else
{
switch(precede(*a,c[j]))
{
case'<':
j++;c[j]=*a;a++;break;
case'=':
j--;a++;break;
case'>':
t=c[j];
j--;i--;
if(t=='-')
{
b[i-1]=b[i-1]-b[i];
b[i]=0;
}
else if(t=='+')
{
b[i-1]=b[i-1]+b[i];
b[i]=0;
}
else if(t=='*')
{
b[i-1]=b[i-1]*b[i];
b[i]=0;
}
else if(t=='/')
{
b[i-1]=b[i-1]/b[i];
b[i]=0;
}
else break;
}
}
}
printf("%d\n",b[i-1]);
}
void main()
{
int i,n,s;
char *a[10],*t;
scanf("%d",&n);
for(i=0;i<=n;i++)
a[i]=creat();
for(i=1;i<=n;i++)
{
t=a[i];
s=judgekuohao(t);
if(s==-1)
{
printf("False\n");
continue;
}
else
run(a[i]);
}
} 輸入: 第一行輸入要計算的算術表達式的個數n 後緊跟n行算術表達式

5. 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);
}

6. C語言怎麼實現任意兩個數的四則運算

C語言實現任意兩個數的四則運算的方法:

1、閱讀代碼,使用了隨機函數:srand(unsigned( time(NULL)));通過調用隨機函數,將生成的100以內的隨機整數賦給不同的變數,一部分用於四則運算式數據的來源,而賦給變數c的隨機數則用於結合switch語句控製程序跳轉執行 不同的分支,即不同的四則運算,如下:

c = rand() % 5; //隨機產生小於5的非負整數

switch (c)

case 0:

case 1:

...........

case 5:

2、使用while語句控制除數不為0

while (b == 0)

{

b = rand() % 1; //若b=0則重新生成b,直到b不為0

}

3、使用if語句判斷減數與被減數的大小。

if (a > b) //使a<b

{

d = a;

a = b;

b = d;

}

if (m > n) //使m<n

{

d = m;

m = n;

n = d;

}

通過if判斷並賦值的手段保證結果不出現負數

4、 原代碼僅能一次性生成20個隨機的四則運算式,而無法從鍵盤輸入結果並判斷答案正確與否。

5、修改代碼。由於原代碼無法從鍵盤讀入數據,所以對其進行了改進。

(1)增加鍵盤讀入功能

scanf("%d",&x);

從鍵盤讀入輸入的答案

(2)對答案進行正確與否的判斷

if(x == (a+b))

printf("You are right! ");

else

printf("You are wrong! ");

通過比較輸入答案與運算得出的答案告知用戶計算是否正確。

6、上傳源代碼至GitHub。

熱點內容
安卓怎麼充高會 發布:2024-11-30 11:29:49 瀏覽:656
什麼是手機本地伺服器ip 發布:2024-11-30 11:13:21 瀏覽:288
壓縮袋無泵 發布:2024-11-30 11:13:11 瀏覽:676
去角質皮面膜怎麼樣配置 發布:2024-11-30 10:44:22 瀏覽:808
證券首次開戶後為什麼沒密碼 發布:2024-11-30 10:41:57 瀏覽:316
玩具廠資料庫 發布:2024-11-30 10:41:57 瀏覽:786
學校考試伺服器地址 發布:2024-11-30 10:35:30 瀏覽:683
nas無盤伺服器搭建教程 發布:2024-11-30 10:27:07 瀏覽:156
觸摸精靈腳本解密 發布:2024-11-30 10:27:04 瀏覽:328
如何解鎖密碼鎖上的密碼用數字解 發布:2024-11-30 10:07:55 瀏覽:454