当前位置:首页 » 编程语言 » 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,这样可以保证你的输入不会受到其他输入的影响,如果程序有问题,能保证不是自己输入导致的问题。

热点内容
毛利润算法 发布:2025-02-12 04:22:42 浏览:754
战舰少女r红茶脚本 发布:2025-02-12 04:05:05 浏览:465
峰火战国服务器什么时候开 发布:2025-02-12 03:56:31 浏览:175
电脑配置慢怎么解压 发布:2025-02-12 03:52:18 浏览:716
androidsdk功能 发布:2025-02-12 03:43:07 浏览:87
阿里云服务器可以访问外网吗 发布:2025-02-12 03:42:20 浏览:880
脚本的生命周期顺序 发布:2025-02-12 03:37:28 浏览:369
素数加密 发布:2025-02-12 03:37:27 浏览:803
ar源码 发布:2025-02-12 03:32:04 浏览:656
阅图文件夹 发布:2025-02-12 03:30:22 浏览:762