當前位置:首頁 » 編程語言 » C語言計算器循環

C語言計算器循環

發布時間: 2022-05-29 08:53:15

『壹』 用c語言編寫計算器循環版,謝謝了!

#include<stdio.h>
intmain(void)
{
intqjia,hjia;
charfu;
printf("輸入:x'+'x ");
while((scanf("%d%c%d",&qjia,&fu,&hjia))==3){
switch(fu){
case'-':printf("%d-%d==%d ",qjia,hjia,qjia-hjia);break;
case'+':printf("%d+%d==%d ",qjia,hjia,qjia+hjia);break;
case'*':printf("%dx%d==%d ",qjia,hjia,qjia*hjia);break;
case'/':printf("%d/%d==%d ",qjia,hjia,qjia/hjia);break;
default:printf("出錯了!! ");
}
printf("輸入:x'+'x ");
}
return0;
}

『貳』 計算器的C語言代碼.就進行簡單的加減乘除的運算,可以循環的,謝謝大神了!

#include <stdio.h>
char chooseOprate;
void input(char choose){
float result,numA,numB;
printf("請輸入第一個操作數:");
scanf("%2f",&numA);
printf("請輸入第二個操作數:");
scanf("%2f",&numB);
printf("請輸入操作符(1.+、2.-、3.*、4./):");
scanf("%c",&choose);
chooseOprate = choose;
if (choose == '1')) {
result = numA + numB;
printf("numA + numB = %2f",result);
}else if (choose=='2') {
result = numA - numB;
printf("numA - numB = %2f",result);
}else if (choose == '3'){
result = numA * numB;
printf("numA * numB =%2f ",result);
}else if (choose == '4') {
result = numA / numB;
printf("numA / numB = %2f",result);
}else{
printf("輸入錯誤,請重新輸入!\n");
printf(" ");
input(choose);
}
}

inputAnswer(){
char answer;
input(chooseOprate);
printf(" ");
printf("是否繼續?(Y/N)");
scanf("%c",answer);
if (answer == 'y' || answer =='Y') {
input(chooseOprate);
inputAnswer();
printf("是否繼續?(Y/N)");
}else if(answer == 'n' || answer == 'N')){
printf("程序結束!");
}else{
printf("輸入錯誤,請重新輸入!\n");
printf("\n");
inputAnswer();
}
printf("是否繼續?(Y/N)");
}
void main() {
inputAnswer();
}

『叄』 C語言編計算器,實現連續運算,該怎麼辦給個思路就行。謝謝了。

能夠進行任意多個數的加減乘除四則運算,比如想要計算1+2+3,輸入1+2+3=,得到結果6

#include<stdio.h>
intjia(inta,intb)
{
ints;
s=a+b;
returns;
}
intjian(inta,intb)
{
ints;
s=a-b;
returns;
}
intcheng(inta,intb)
{
ints;
s=a*b;
returns;
}
intchu(inta,intb)
{
ints;
s=a/b;
returns;
}

voidmain()
{
inta,b,x,y,i;
charc;
printf("請輸入運算式: ");
scanf("%d%c%d",&a,&c,&b);
x=a;
y=b;
for(i=0;;i++)
{
if(c=='+')x=jia(x,y);
elseif(c=='-')x=jian(x,y);
elseif(c=='*')x=cheng(x,y);
elseif(c=='/')x=chu(x,y);
c=getchar();
if(c=='=')
{
printf("%d ",x);
break;
}
scanf("%d",&y);
}
}

『肆』 c語言如何實現計算器按任意鍵繼續下一個運算 可不可以利用for循環實現

這里必須有一個等待用戶輸入的過程,整個程序倒是在一個循環體內。
這個循環體的內容包括:
1. 等待用戶輸入
2. 狀態判斷,是數字的輸入,還是運算符輸入
3. 根據輸入,決定是否需要計算結果,並輸出
4. 回到循環頭上

這里「等待用戶輸入」,可以利用conio.h中的函數getch
如果是Windows編程,那就是響應按鍵消息

『伍』 用c語言寫一個可以加減乘除的計算器,可循環的

首先,scanf("%f%c%f",&a&t&b)這句有錯,缺逗號。應改為scanf("%f%c%f",&a,&t,&b); 其次, if(get(=))這句有錯。 字元輸入有兩種方式 1 char s; scanf("%c", &w); 2 char s; s = getchar(); 字元型數組的輸入方式有 char s[ ]; gets(s); 而用get來輸入單個字元是不合法的。 再次,if(get(=)) printf("%f",s);break; 這兩句有錯誤。 break的功能是:用於嵌套循環時,跳出包含它的最內層循環(for循環或switch...case循環)。 在這個程序的if語句中,break是多餘的,沒啥用。 最後,switch...case語句缺少default分支。 程序可更改為: #include<stdio.h> int main() { float a,b,s; char t, w; printf("歡迎使用!\n"); scanf("%f%c%f",&a,&t,&b); switch(t) { case'+':s=a+b;break; case'-':s=a-b;break; case'*':s=a*b;break; case'/':s=a/b;break; default: break; } w = getchar(); if ('=' == w) { printf("%f",s); } return 0; } 也可以更改為: #include<stdio.h> int main() { float a,b,s; char t, w; printf("歡迎使用!\n"); scanf("%f%c%f",&a,&t,&b); switch(t) { case'+': s=a+b; break; case'-': s=a-b; break; case'*': s=a*b; break; case'/': s=a/b; break; default: break; } scanf("%c", &w); if ('=' == w) { printf("%f",s); } return 0; } 這樣,當你在鍵盤上敲入2+3=時,就會有結果5.000000輸出。

『陸』 c語言循環簡易計算器

根本不需要那麼復雜
#include <stdio.h>
#include <conio.h>
main()
{
float a,b,y;
char c,ch;
printf("Please enter:\n");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case'+':printf("%f%c%f=%f",a,c,b,a+b);break;
case'-':printf("%f%c%f=%f",a,c,b,a-b);break;
case'*':printf("%f%c%f=%f",a,c,b,a*b);break;
case'/':printf("%f%c%f=%f",a,c,b,a/b);break;
default:printf("wrong");break;
}
printf(" \n") ;
printf("Whether to continue?(y/n)\n");
fflush(stdin); //清空緩沖區
ch=getchar(); //接收輸入字元
if (ch=='Y' || ch=='y') //判斷輸入字元並進行繼續或者退出操作
{
printf("繼續\n");
main(); //返回main函數
}
else
printf("退出!\n"); //什麼也不做 自然退出
}

『柒』 c語言編寫計算器 ,老實說循環體有問題,求解。急急急急急急急急!

#include<stdio.h>
#include<math.h>
void main()
{
double a=0,b=0;
char m,i;
double x=0;
do
{
printf("請輸入運算式:\n");
scanf("%lf%c%lf",&a,&m,&b);
if (m=='+')
x=(a+b);
else if (m=='-')
x=(a-b);
else if (m=='*')
x=(a*b);
else if (m=='/')
x=(a/b);
else if (m=='^')
x=(pow(a,1/b));
else if (m=='^'&&b==-1)
x=(pow(a,1/b));
else printf("輸入錯誤");
printf("x=%lf\n",x);
printf("Do you want to continue(y/n ?)");
while(getchar()!='\n');
scanf("%c",&i);
while(getchar()!='\n');
}while (i=='y');
}
~

『捌』 用C語言編寫一個計算器程序,用選擇和循環語句,要能夠重復連續運算

void
main()
{
int
a,b,result;
char
m;
printf("請輸入需要計算的數:\n");
scanf("%d
%d",&a,&b);
printf("請輸入加、減、乘或除\n");
scanf("%c",&m);
if(m=="+")
//判斷是否進行加法運算,以下同理
result=a+b;
else
if(m=="-")
result=a-b;
elsee
if(m=="*")
result=a*b;
else
if(m=="/")
result=a/b;
else
printf("您輸入有誤\n");
//如果輸入的符號非加減乘或是除,報錯
printf("計算結果為:%d\n",result);
//最後輸出結果
}

『玖』 急求用c語言編寫一個只有加減乘除的循環計算器最好有程序分析

#include<stdio.h>//望採納!!!

intmain(void)

{

doublea,b;
charch,yn;
do{
printf("請輸入運算式子:");
scanf("%lf%c%lf",&a,&ch,&b);
switch(ch)
{
case'+':printf("%lf%c%lf=%lf ",a,ch,b,a+b);break;
case'-':printf("%lf%c%lf=%lf ",a,ch,b,a-b);break;
case'/':printf("%lf%c%lf=%lf ",a,ch,b,a/b);break;
case'*':printf("%lf%c%lf=%lf ",a,ch,b,a*b);break;
default:printf("式子輸入錯誤!請以(數1+數2)這種格式輸入!");
}

fflush(stdin,NULL);
printf("計算完畢!是否再次使用?y/n:");
scanf("%c",&yn);
if(yn=='y'||yn=='Y')
{printf("歡迎再次使用 ");continue;}
else{printf("感謝使用本計算器!本次服務到此結束! ");break;}
}
while(1);

}

『拾』 圓形體體積計算器 c語言 為什麼循環一次就結束了

#include"stdio.h"

#include"math.h"

#define PI 3.141592653579

int main()

{

double r,h;

//printf("1-Ball 2-Cylinder 3-Cone other-Exit Please enter your command: ") ;

while(1)

{

char in;

printf("1-Ball 2-Cylinder 3-Cone other-Exit Please enter your command: ");

fflush(stdin);

scanf("%c",&in);

if(in=='1')

{

printf("Please enter the radius:");

scanf("%lf",&r);

printf("%.2lf ",(4.0/3*1.0)*PI*pow(r,3)*1.0);


}

else if(in=='2')

{

printf("Please enter the radius and the height: ");

scanf("%lf %lf",&r,&h);

printf("%.2lf ",h*PI*pow(r,2)*1.0);

}

else if(in=='3')

{

printf("Please enter the radius and the height: ");

scanf("%lf %lf",&r,&h);

printf("%.2lf ",1.0/3*PI*r*r*h*1.0);

}

else

break;

}


return 0;

}

在第一個scanf之前加一個fflush(stdin)就沒問題了,親測了1,2,3的程序,沒有問題。最後一個你是要輸入other嗎?可是明明只取了一個字元而已,不過也會自動結束就是了。這里的BUG在於,第一個scanf的參數的格式是%c,我們輸入一個數之後,還會輸入一個回車,第一次scanf沒有問題,因為回車在最後,scanf取完又放回去了,第二次scanf的時候,也不會出錯,因為你第二次scanf的時候你需要的都是lf格式的數據,所以前面有個回車,他們會自動省略掉前面的N個連續的回車,但是轉完一圈後,第二次循環的時候,就出問題了,因為scanf需要的格式是%c,回車也算字元的,只不過他是個控制字元,所以屏幕上沒有顯示,而且你沒顯示最後一個參數,第二次的時候,第一個scanf把你輸入lf格式之後剩下的空格當成了數據,讀入了,導致第二次永遠都是輸入進空格,然而你的程序里,沒有空格的選項,所以最後就直接到最後一個else ,最後一個else,沒有在屏幕上顯示任何信息,所以你以為程序出錯了,在第一個scanf之前加一個fflush語句就可以了,裡面的參數是標准輸入流的參數,他會把輸入緩存中的所有垃圾全部清理一遍,然後再檢測你的輸入,這樣就不會出錯了,我一般避免出現用scanf的時候出現錯誤,之前都會加一個fflush,這樣可以保證你的輸入不會受到其他輸入的影響,如果程序有問題,能保證不是自己輸入導致的問題。

熱點內容
bilibi手機緩存目錄在 發布:2025-02-12 08:33:11 瀏覽:457
聽ti密碼是多少 發布:2025-02-12 08:22:15 瀏覽:288
淘寶上傳視頻憑證 發布:2025-02-12 08:06:46 瀏覽:878
java畫 發布:2025-02-12 08:01:00 瀏覽:549
光遇安卓官服是在哪裡下載 發布:2025-02-12 07:47:47 瀏覽:648
安卓手機如何關閉程序打開廣告 發布:2025-02-12 07:31:06 瀏覽:469
新版影視大全不能緩存 發布:2025-02-12 07:31:04 瀏覽:976
sql兩個欄位in 發布:2025-02-12 07:29:45 瀏覽:771
漂亮網站源碼 發布:2025-02-12 07:26:40 瀏覽:760
執行腳本前 發布:2025-02-12 07:14:49 瀏覽:472