當前位置:首頁 » 編程語言 » C語言對加減乘除用for循環
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言對加減乘除用for循環

發布時間: 2022-03-03 05:14:23

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

int main()
{
char exp[8];
printf("enter exp:\n");
scanf("%s",exp); //輸入類似於1+1 2*5這樣的式子,一次一個
switch(exp[1]){
case '+':
printf("%d\n",exp[0]-'0'+exp[2]-'0'); break;
case '-':
printf("%d\n",exp[0]-exp[2]); break;
case '*':
printf("%d\n",(exp[0]-'0')*(exp[2]-'0')); break;
case '/':
printf("%f\n",(exp[0]-'0')*1.0/(exp[2]-'0')*1.0); //1.0是為了轉化成浮點數好得到小數結果
};
return 0;
}

B. 急求用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. c語言中如何對字元型進行加減乘除

加減可以,乘除應該也可以。其實字元型做四則運算就是對這個字元的ASCII碼進行運算,所以不用轉換

D. C語言怎麼實現循環加減乘除

對判斷條件flag賦值語句要放在while裡面 不然while不會跳出來的 而且幹嘛寫這么多的return 0,只保留最後一個就好了

E. 簡單的c語言程序,可以運算兩個數之間的加減乘除 用do while或者for可以實現嗎

#include<stdio.h>

int main(void)
{
float a,b;
while(1)
{
printf("請輸入a:\n");
scanf("%f",&a);
printf("請輸入運算符:\n");
char ch;
scanf("%c",&ch);
printf("請輸入b:\n");
scanf("%f",&b);
switch(ch)
{
case '+': printf("%f+%f=%f\n",a,b,a+b); break;

case '-': printf("%f-%f=%f\n",a,b,a-b); break;
case '*': printf("%f*%f=%f\n",a,b,a*b); break;
case '/': printf("%f/%f=%f\n",a,b,a/b); break;
default:break;
}
}
return 0;
}

F. C語言實現加減乘除運算

按照你的程序運行後。。。在輸入c值的時候
程序直接結束了。。。還有就是每個case語句後記著加上break跳出不過也有不過根據具體需要也可以不加break;但是你的這個程序需要加上break;
原因是:回車符也是字元,所以你按回後,程序以為是輸入了c的值了,而在輸入b值成功是因為
回車符不是數字形式的。
以下是我改過的程序,編譯運行都很好的

#include <stdio.h>
#include <math.h>

void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",&a);
printf("\n input b:");
scanf("%f",&b);
//這種情況經常遇到。。。。輸入完後回車被下一個scanf("%c",&c)捕獲了。
//因為回車符也是字元,所以你按回車後,程序以為是輸入了c的值了
//所以加上下面一行,把回車符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",&c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '*': printf("a*b=%f",a*b);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//為了好看
printf("\n");
}

G. 我做了一個簡單的C語言 加減乘除,但是只能算一次就結束了,怎麼讓它循環一直加減乘除,謝謝~

最簡單的方法
intmain()===>改成intcalc()

intmain()
{
while(calc()==0);
return0;
}
然後,
printf("1:加2:減3:乘4:除 ");==》printf("0:退出1:加2:減3:乘4:除 ");
scanf("%d",&m);
if(m==0){
return1;
}

H. 怎樣用c語言實現對數及其加減乘除的運算

添加頭文件#include "math.h",聲明雙精度浮點變數,然後調用庫函數log或log10就可以了。如:
#include "stdio.h"
#include "math.h"
void main(void){
double x,sum=0.0;
int i;
for(i=1;i<101;i++)
sum+=log10(i);
printf("%f\n",sum);
x=sum+log(3)/log(2)+log10(7)-log(105)-log10(2)*log10(7);
}
這代碼求出了log1+log2+log3+...+log100的值。而x=sum+log(3)/log(2)+log10(7)-log(105)-log10(2)*log10(7);進行了常用對數(log10)和自然對數(log)的四則運算,並計算結果賦給了雙精度變數x。

I. 簡單的c語言加減乘除運算

#include"stdio.h"
intchuli(inti);
voidmain()
{
inta=0,i=0,x=0,u=0,s[100],zi,b=0;
charc,f[100];
for(i=0;;i++)
{
for(x=0;(c=getchar())>='0'&&c<='9';x++)
{
u=c-'0';
if(x==0)
zi=u;
elsezi=zi*10+u;
}
s[a]=zi;
if(c!='['&&c!=']')
f[a++]=c;

if(c=='[')
s[0]=chuli(i);
if(c=='=')
break;
}

for(a=0;a<=i;a++)
{
x=a+1;
if((f[a]=='*'||f[a]=='/')&&b==0){u=a;b=1;}
if(f[a]=='+'||f[a]=='-')b=0;
if(f[a]=='*'){s[u]=s[u]*s[x];f[a]='+';s[x]=0;}
if(f[a]=='/'){s[u]=s[u]/s[x];f[a]='+';s[x]=0;}
}
for(a=0;a<=i;a++)
{
x=a+1;
if(f[a]=='+'){s[0]=s[0]+s[x];}
if(f[a]=='-'){s[0]=s[0]-s[x];}
}
printf("%d",s[0]);
}

intchuli(inti)
{
intshu[100],d=0,f=0,g=0,ha,l=0,q=0;
charw,fu[100];
for(d=0;;d++)
{
for(f=0;(w=getchar())>='0'&&w<='9';f++)
{
g=w-'0';
if(f==0)ha=g;
elseha=ha*10+g;
}
shu[l]=ha;
if(w!='['&&w!=']')fu[l++]=w;
if(w==']')break;
}
for(l=0;l<=d;l++)
{
g=l+1;
if((fu[l]=='*'||fu[l]=='/')&&q==0){f=l;q=1;}
if(fu[l]=='+'||fu[l]=='-')q=0;
if(fu[l]=='*'){shu[f]=shu[f]*shu[g];fu[l]='+';shu[g]=0;}
if(fu[l]=='/'){shu[f]=shu[f]/shu[g];fu[l]='+';shu[g]=0;}
}
ha=shu[0];
for(l=0;l<=d;l++)
{
g=l++;
if(fu[l]=='+')ha=ha+shu[g];
if(fu[l]=='-')ha=ha-shu[g];
}
ha=99;
printf(" %d ",ha);
returnha;
}

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

學了十天寫出的第一個小作品
#include <stdio.h>

int main()
{
float a;
char c;
float b=0;
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
while(c != '#')
{
if (c == '+')
{
printf("%f\n",a+b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '-')
{
printf("%f\n",a-b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '*')
{
printf("%f\n",a*b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '/')
{
if(b != 0)
{
printf("%f\n",a/b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);

}
else{
printf("error");
}

}
else
{
printf("input error\n");
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);

}

}

return 0;
}