成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

c語言用函數(shù)寫一個(gè)計(jì)算器 C語言做一個(gè)計(jì)算器

用c語言編寫計(jì)算器

#include stdio.h

10余年的寧化網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整寧化建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“寧化網(wǎng)站設(shè)計(jì)”,“寧化網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

struct s_node

{

int data;

struct s_node *next;

};

typedef struct s_node s_list;

typedef s_list *link;

link operator=NULL;

link operand=NULL;

link push(link stack,int value)

{

link newnode;

newnode=(link) malloc(sizeof(s_list));

if(!newnode)

{

printf("\nMemory allocation failure!!!");

return NULL;

}

newnode-data=value;

newnode-next=stack;

stack=newnode;

return stack;

}

link pop(link stack,int *value)

{

link top;

if(stack !=NULL)

{

top=stack;

stack=stack-next;

*value=top-data;

free(top);

return stack;

}

else

*value=-1;

}

int empty(link stack)

{

if(stack==NULL)

return 1;

else

return 0;

}

int is_operator(char operator)

{

switch (operator)

{

case '+': case '-': case '*': case '/': return 1;

default:return 0;

}

}

int priority(char operator)

{

switch(operator)

{

case '+': case '-' : return 1;

case '*': case '/' : return 2;

default: return 0;

}

}

int two_result(int operator,int operand1,int operand2)

{

switch(operator)

{

case '+':return(operand2+operand1);

case '-':return(operand2-operand1);

case '*':return(operand2*operand1);

case '/':return(operand2/operand1);

}

}

void main()

{

char expression[50];

int position=0;

int op=0;

int operand1=0;

int operand2=0;

int evaluate=0;

printf("\nPlease input the inorder expression:");

gets(expression);

while(expression[position]!='\0'expression[position]!='\n')

{

if(is_operator(expression[position]))

{

if(!empty(operator))

while(priority(expression[position])= priority(operator-data)

!empty(operator))

{

operand=pop(operand,operand1);

operand=pop(operand,operand2);

operator=pop(operator,op);

operand=push(operand,two_result(op,operand1,operand2));

}

operator=push(operator,expression[position]);

}

else

operand=push(operand,expression[position]-48);

position++;

}

while(!empty(operator))

{

operator=pop(operator,op);

operand=pop(operand,operand1);

operand=pop(operand,operand2);

operand=push(operand,two_result(op,operand1,operand2));

}

operand=pop(operand,evaluate);

printf("The expression [%s] result is '%d' ",expression,evaluate);

getch();

}

用c語言設(shè)計(jì)一個(gè)簡單的加減乘除計(jì)算器 具體需要這樣做

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

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

3、定義變量:int a,b,d; /*定義變量的數(shù)據(jù)類型為整型*/,char c;/*定義變量的數(shù)據(jù)類型為字符型*/。

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

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

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

C語言編寫簡易計(jì)算器程序?

C語言編寫計(jì)算器

我們可以用printf和scanf函數(shù)輸出結(jié)果和獲取用戶的輸入。需要stdio.h頭文件。scanf函數(shù)在讀取數(shù)據(jù)的時(shí)候不需要再一行上輸入每個(gè)數(shù)據(jù),只要數(shù)據(jù)和數(shù)據(jù)之間留出空白就可以了。先聲明兩個(gè)變量number1和number2,operation變量用來存儲(chǔ)運(yùn)算符。用scanf函數(shù)獲取這兩個(gè)數(shù)字和運(yùn)算符。分別用%lf %c %lf

請點(diǎn)擊輸入圖片描述

然后需要檢測輸入是否是正確的,檢查是不是+ - * / %,在這里要用到switch函數(shù),用來看operation變量是否別傳入了正確的值。

switch(operation)

{

case '+':

printf........

}

具體的運(yùn)算我們只需要再case之后的printf語句中設(shè)定和輸出就可以了。

請點(diǎn)擊輸入圖片描述

由于除法和取余運(yùn)算比較特殊,我們單獨(dú)說明。除法的除數(shù)不能為零,所以除法需要檢測除數(shù)是否為零,只需要用if else語句就可以,if(number2 == ),取余運(yùn)算符對于浮點(diǎn)數(shù)沒有意義,所以將浮點(diǎn)數(shù)轉(zhuǎn)換為long類型,強(qiáng)制類型轉(zhuǎn)換,if((long)number2 == 0) ? else ,這樣整個(gè)代碼就完成了。

請點(diǎn)擊輸入圖片描述

簡單計(jì)算器的編輯并不難,但是要注意一些細(xì)節(jié),除法的處理要注意除數(shù)不能為零的情況,而且取模運(yùn)算要將兩個(gè)操作數(shù)轉(zhuǎn)化為整型,當(dāng)然,作為真正的計(jì)算器,只實(shí)現(xiàn)這些功能是不夠的,還需要更多的功能,不過有一個(gè)好的開始也不錯(cuò)。

下面我們就運(yùn)行一下這個(gè)程序吧。25*13的值和8%5的值??梢钥吹绞俏覀兤谕闹怠?/p>

請點(diǎn)擊輸入圖片描述

請點(diǎn)擊輸入圖片描述

如何用c語言實(shí)現(xiàn)一個(gè)計(jì)算器???

1、#includestdio.hint?main()

2、{????int?a,b,c;????scanf("%d%d%d",a,b,c);

3、?int?sum?=?a+b+c;

4、???printf("和:?%d",sum);

5、printf("平均值:%f",sum/3.0);

6、return?0

講解:

1、先定義四個(gè)整形。

2、一個(gè)浮點(diǎn)型保存平均值。

3、然后在控制臺等待輸入。

4、將輸入的三個(gè)整數(shù)加起來賦值給sum。

5、將三個(gè)整形除以3.0(為什么是3.0,是因?yàn)閍ve是浮點(diǎn)型的,隱性轉(zhuǎn)換到float)。

6、然后輸出。

如何用C程序編寫一個(gè)計(jì)算器

1

首先,得從網(wǎng)上下載并安裝c++,然后從桌面找到并打開它。

2

四則運(yùn)算+ - * / 可以用if語句或switch語句實(shí)現(xiàn)。兩者均用于判斷。

if語句運(yùn)用較廣,switch語句運(yùn)用較為簡單方便。

END

用if語句

1

下面先介紹用if語句實(shí)現(xiàn)四則運(yùn)算的方法。

2

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

if(r=='+') printf("x+y=%f\n",x+y);

else if(r=='-') printf("x-y=%f\n",x-y);

else if(r=='*') printf("x*y=%f\n",x*y);

else if(r=='/') printf("x/y=%f\n",x/y);

else ?printf("input error\n");

return 0;

}

3

輸入完畢,進(jìn)行【全部重建】,然后就可以運(yùn)行了。

在運(yùn)行框輸入你想要進(jìn)行的運(yùn)算,例如想計(jì)算 2*5 的值,你只需在運(yùn)行框直接輸入 2*5 ,然后按【enter】鍵,結(jié)果就出來啦。

4

因?yàn)槊看芜M(jìn)行計(jì)算都要重新運(yùn)行,很麻煩,我們可以加入循環(huán)語句。

5

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

for(;;)

{

if(r=='+') printf("x+y=%f\n",x+y);

else if(r=='-') printf("x-y=%f\n",x-y);

else if(r=='*') printf("x*y=%f\n",x*y);

else if(r=='/') printf("x/y=%f\n",x/y);

else ?printf("input error\n");

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

}

return 0;

}

6

加入循環(huán)之后,我們不用退出再次運(yùn)行,我們可以在運(yùn)行框連續(xù)輸入,非常方便。

END

用switch語句

1

這次是使用switch語句,可達(dá)到同樣的目的。

2

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

switch(r)

{

case '+': printf("x+y=%f\n",x+y);break;

case '-': printf("x-y=%f\n",x-y);break;

case '*': printf("x*y=%f\n",x*y);break;

case '/': printf("x/y=%f\n",x/y);break;

default:printf("input error\n");

}

return 0;

}

3

輸入表達(dá)式完畢后,進(jìn)行【全部重建】,然后就可以運(yùn)行了。

在運(yùn)行框輸入你想要進(jìn)行的運(yùn)算,例如想計(jì)算 8/7 的值,你只需在運(yùn)行框直接輸入 8/7 ,然后按【enter】鍵,結(jié)果就出來啦。

4

switch語句也可如if語句一般,加入循環(huán),可進(jìn)行連續(xù)輸入。

5

#include "stdafx.h"

int main(int argc, char* argv[])

{

float x;

float y;

char r;

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

for(;;)

{

switch(r)

{

case '+': printf("x+y=%f\n",x+y);break;

case '-': printf("x-y=%f\n",x-y);break;

case '*': printf("x*y=%f\n",x*y);break;

case '/': printf("x/y=%f\n",x/y);break;

default:printf("input error\n");

}

printf("請輸入如 1+2 的格式\n");

scanf("%f%c%f",x,r,y);

}

return 0;

}

END

C語言編寫一個(gè)簡單的計(jì)算器

我給你寫一個(gè)簡單的計(jì)算器程序,你可以看一下。如果需要更多的功能,那么還要更復(fù)雜一些。不是一句話可以說明白的。要用到很多函數(shù)的調(diào)用,和函數(shù)的方法。

#include

"stdio.h"

void

main()

{

int

a,b,result;

char

m;

printf("請輸入需要計(jì)算的數(shù):\n");

scanf("%d

%d",a,b);

printf("請輸入加、減、乘或除\n");

scanf("%c",m);

if(m=="+")

//判斷是否進(jìn)行加法運(yùn)算,以下同理

result=a+b;

else

if(m=="-")

result=a-b;

elsee

if(m=="*")

result=a*b;

else

if(m=="/")

result=a/b;

else

printf("您輸入有誤\n");

//如果輸入的符號非加減乘或是除,報(bào)錯(cuò)

printf("計(jì)算結(jié)果為:%d\n",result);

//最后輸出結(jié)果

}

文章標(biāo)題:c語言用函數(shù)寫一個(gè)計(jì)算器 C語言做一個(gè)計(jì)算器
本文來源:http://jinyejixie.com/article28/dodhocp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁設(shè)計(jì)公司、電子商務(wù)、自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
石河子市| 香港| 青浦区| 云阳县| 彭阳县| 新巴尔虎右旗| 抚宁县| 寿阳县| 沙坪坝区| 沙洋县| 依兰县| 和田县| 平昌县| 南丰县| 洛扎县| 如东县| 凤凰县| 河津市| 长宁区| 中山市| 阿拉善右旗| 安岳县| 昭通市| 六盘水市| 鄂伦春自治旗| 汽车| 米易县| 宁河县| 洪洞县| 永新县| 巫溪县| 开阳县| 辰溪县| 平顶山市| 达州市| 东兴市| 临朐县| 微山县| 吉安县| 托克逊县| 屏山县|