值的交换很重要,我在里面走了一天都没走出来 都 没想到,可以把值提前取出来——————》》最后还是同学" 李文志"想到的 #include<stdio.h> //写一个多个数的计算器,在这只实现从左至右运算,没有优先符 void main(void){ int numA = 0; //第一个数 int numB = 0; //第二个数 int numC = 0; //交换数 int temp = 0; //交换数 char operators =""; //接收用户输入的运算符 int condition = 1; //控制while第一个条件 int controlThree =0; //控制 while 第二个条件 char equal; //存运算符 char inContinue; //存储等于号 int survey = 0; //结束询问调查 printf(" 欢迎使用多数计算器nn"); //下面用 while 循环计算器 while(condition){ printf("请输入第一个数: "); scanf("%d",&numA); //判断用户是否输入等于 do{ printf(" 请输入运算符: "); scanf("%s",&operators); if(operators=='='){ inContinue='='; controlThree=0; printf("============================================="); }else{ if(operators=='+' || operators=='-' || operators=='*' || operators=='/'){ printf("请输入第下个数: "); scanf("%d",&numB); switch(operators){ case '+': equal='+'; numC=numA+numB; break; case '-': equal='-'; numC=numA-numB; break; case '*': equal='*'; numC=numA*numB; break; case '/': equal='/'; numC=numA/numB; break; } }else{ printf("你输入的运算符有误,请重新输入n"); inContinue=1; } //交换数值 temp=numA; //注意这个numA的值一定要提前取出来 numA=numC; controlThree=1; } }while(controlThree); //下面输出打印运算 if(inContinue=='='){ switch(equal){ case '+': printf("n %d + %d = %d nn",temp,numB,numC); break; case '-': printf("n %d - %d = %d nn",temp,numB,numC); break; case '*': printf("n %d * %d = %d nn",temp,numB,numC); break; case '/': printf("n %d / %d = %d nn",temp,numB,numC); break; } } printf("n是否继续运算 1 是 0 退出n"); scanf("%d",&condition); } printf("n感谢使用本系统n n 非常满意请按 1 n 满意请按 2 n 不满意请按 3n"); scanf("%d",&survey); if(survey<=3&&survey>=1){ printf("谢谢配合"); }else{ printf("谢谢使用"); } } |
本文发布于:2024-02-04 22:26:39,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170717808860220.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |