日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言可循环计算器代码,可编程简易计算器(代码)

發布時間:2024/8/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言可循环计算器代码,可编程简易计算器(代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

while(sign[0]!='a'){

//if(input[index]){

for(int?i=0;i<4;i++)

{

if(firsttime?==1)i=3;

//提取第i+1個數字

dexto=1;

char?num_str[INPUT_LEN]={'+'};

while(input[index])

{

if(isdigit(input[index]))

num_str[dexto++]=input[index++];

else

if((input[index]=='+'||input[index]=='-')&&dexto==1)

num_str[dexto-1]=input[index++];

else?if(dexto>1)break;

else?index++;

}

if(input[index]=='.')

if(isdigit(input[index+1]))

{

num_str[dexto++]=input[index++];

while(input[index])

if(isdigit(input[index]))num_str[dexto++]=input[index++];

else?break;

}

num[i]=atof(num_str);

if(input[index]=='\0')

{

for(;i<4;i++)sign[i]='a';

break;

}

//提取第i+1個符號

while(input[index])

{

switch(input[index])

{

case'+':case'-':case'*':case'/':case'%':case'^':

sign[i]=input[index++];

goto?outofwhile;

break;

default:

index++;

continue;

}

}

outofwhile:;

}//提取數字符號結束

firsttime?=1;

//}//判斷結束結束

//將數字進行計算

if(sign[0]=='+'||sign[0]=='-')

{//如果s0是加減則:

if(sign[1]=='+'||sign[1]=='-'||sign[1]=='a')

{

//如果s0,s1都一級

num[0]=singlecalculate(num[0],sign[0],num[1]);

num[1]=num[2];

num[2]=num[3];

sign[0]=sign[1];

sign[1]=sign[2];

sign[2]=sign[3];

}

else

{

if(sign[1]=='^')

{

//如果s0一級s1是^則

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}else?if(sign[2]=='^')

{

//如果s2是^且s1為二級

num[2]=singlecalculate(num[2],sign[2],num[3]);

sign[2]=sign[3];

}else

{

//如果s2為二級或1級則

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}

}

}else

{

//如果s0不是加法則

if(sign[1]=='^'&&sign[0]!='^')

{

//如果s1是^則

num[1]=singlecalculate(num[1],sign[1],num[2]);

num[2]=num[3];

sign[1]=sign[2];

sign[2]=sign[3];

}else

{

//如果s0是二級或以上s1是二級或以下則:

num[0]=singlecalculate(num[0],sign[0],num[1]);

num[1]=num[2];

num[2]=num[3];

sign[0]=sign[1];

sign[1]=sign[2];

sign[2]=sign[3];

}

}

//num[0]=singlecalculate(num[0],sign[0],num[1]);

/*printf("1:%lf\n",num[0]);

printf("2:%lf\n",num[1]);

printf("3:%lf\n",num[2]);

printf("4:%lf\n",num[3]);

printf("s1:%c\n",sign[0]);

printf("s2:%c\n",sign[1]);

printf("s3:%c\n",sign[2]);

printf("s4:%c\n",sign[3]);*/

}//大循環結束

return?num[0];

}

double?singlecalculate(double?num1,char?sign,double?num2)

{

switch(sign)

{

case'+':

num1+=num2;

break;

case'-':

num1-=num2;

break;

case'*':

num1*=num2;

break;

case'/':

num2==0?printf("式子包含有除數為0,請檢查\a"):num1/=num2;

break;

case'%':

num2==0?printf("式子包含有除數為0,請檢查\a"):num1=(int)num1%(int)num2;

break;

case'^':

num1=pow(num1,num2);

break;

}

return?num1;

}

程序我自己測試,沒發現什么問�

總結

以上是生活随笔為你收集整理的c语言可循环计算器代码,可编程简易计算器(代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。