‘壹’ 使用switch结构实现迷你计算器,支持加减乘除的数学运算功能,从控制台输入两个数字,输出计算结果.
1、文件--》新建--》项目。
‘贰’ 如何用switch语句编写四则运算要求直接输出结果
#include<stdio.h>
intmain(){
inta,b,d;
charc;
printf("输入表达式:");
scanf("%d%c%d",&a,&c,&b);
switch(c){
case'+':d=a+b;break;
case'-':d=a-b;break;
case'*':d=a*b;break;
case'/':d=a/b;break;
default:
d=0;
}
printf("%d%c%d=%d ",a,c,b,d);
return0;
}
‘叁’ 初学C语言,用switch结果写程序计算税收
输出为0的根本原因在于,C语言中的 %d 是打印一个整数,而你计算出来的税收是一个浮点数,应该用 %f 或者 %lf,所以代码看起来应该是这样的:
case2:printf("s=%f ",(x-800)*0.05);break;
另外,我怀疑你的第二个 else if 中的条件写错了,应该是:
elseif(1200<=x&&x<2000)
你把后面的 2000 写成了 1200
最后,你可以直接在 if else 里面计算税收,不需要额外的定义一个 y ,去计算它的值,然后再用 switch:
if(0<=x&&x<800)
printf("s=0 ");
elseif(800<=x&&x<1200)
printf("s=%f ",(x-800)*0.05);
elseif(1200<=x&&x<2000)
printf("s=%f ",(x-1200)*0.08);
else:#这里就不用判断2000<=x了,因为如果判断走到这里就代表了x>=2000
printf("s=%f ",(x-2000)*0.2);
其实你的 if else 语句写得重复了,看下图说明:
‘肆’ 求助.关于用switch编写简易计算器
#include <stdio.h>
int main( )
{
double a, b;
char op;
scanf("%lf%c%lf", &a, &op, &b);
switch (op)
{
case '+':
printf("%lf + %lf = %lf\n", a, b, a + b);
break;
case '-':
printf("%lf - %lf = %lf\n", a, b, a - b);
break;
case '*':
‘伍’ 用switch语句编程设计一个简单的计算器程序
package Operat;
import java.util.Scanner;
public class Operat {
static int Addtion(int number1, int number2) {
int result = 0;
result = number1 + number2;
return result;
}
static int Multiplication(int number1, int number2) {
int result = 0;
result = number1 * number2;
return result;
}
static int Divsion(int number1, int number2) {
int ressult = 0;
try {
ressult = number1 / number2;
} catch (Exception e) {
// TODO: handle exception
e.getMessage();
System.out.println("除数不能为0");
}
return ressult;
}
static int Subtraction(int number1, int number2) {
int result = 0;
result = number1 - number2;
return result;
}
public static void main(String[] args) {
int number1;
int number2;
while (true) {
System.out.println("1:加法,2:乘法,3:除法,4:减法");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("请输入两个数字:");
number1 = input.nextInt();
number2 = input.nextInt();
// Addtion(number1,number2);
System.out.println(Addtion(number1, number2));
break;
case 2:
System.out.println("请输入两个数字:");
number1 = input.nextInt();
number2 = input.nextInt();
// Multiplication(number1,number2);
System.out.println(Multiplication(number1, number2));
break;
case 3:
System.out.println("请输入两个数字:");
number1 = input.nextInt();
number2 = input.nextInt();
// Divsion(number1,number2);
System.out.println(Divsion(number1, number2));
break;
case 4:
System.out.println("请输入两个数字:");
number1 = input.nextInt();
number2 = input.nextInt();
// Subtraction( number1,number2);
System.out.println(Subtraction(number1, number2));
break;
default:
System.out.println("请重新输入选项:");
break;
}
}
}
}
自己手打的java代码,不喜勿喷,自己也是小白,求大神指点。
‘陆’ 用switch语句编写一个计算器
#include <stdio.h>
int main( )
{
double a, b;
char op;
scanf("%lf%c%lf", &a, &op, &b);
switch (op)
{
case '+':
printf("%lf + %lf = %lf\n", a, b, a + b);
break;
case '-':
printf("%lf - %lf = %lf\n", a, b, a - b);
break;
case '*':
printf("%lf * %lf = %lf\n", a, b, a * b);
break;
case '/':
if (b != 0)
printf("%lf / %lf = %lf\n", a, b, a / b);
else
printf("除数不能是0! \n");
break;
}
}
c语言
‘柒’ 请教大牛如何使用switch判读来实现下面的计算器效果。最下面是计算结果。需要表单提交给自己本页面的处理
编写完全可用,望采纳
php"><?php
$first=$_POST['first'];//第一个数
$second=$_POST['second'];//第二个数
$sum='';//计算结果
$arr =array("+","-","*","/");//符号的数组
if($first!=''){
switch($_POST['symbol']){
case0:
$sum=$first+$second;
break;
case1:
$sum=$first-$second;
break;
case2:
$sum=$first*$second;
break;
case3:
$sum=$first/$second;
break;
}
}
?>
<formname="frm"method="post"action="#"onSubmit="returnCheckSubmit()">
<h1>实现一个计算器</h1>
<h4>第一个数:<inputtype="text"name="first"value="<?=$first?>"style="width:40px;"/></h4>
<p>
<label><inputname="symbol"value="0"id="s0"type="radio"/>+</label>
<label><inputname="symbol"value="1"id="s1"type="radio"/>-</label>
<label><inputname="symbol"value="2"id="s2"type="radio"/>*</label>
<label><inputname="symbol"value="3"id="s3"type="radio"/>/</label>
</p>
<h4>第二个数:<inputtype="text"name="second"value="<?=$second?>"style="width:40px;"/></h4>
<h5><inputtype="submit"value="提交"/></h5>
</form>
<h2>
<?php
if($sum!='')
echo$first."".$arr[$_POST['symbol']]."".$second."=".$sum;//输出结果
?>
</h2>
<scripttype="text/javascript">
window.onload=function(){
varval="<?=$_POST['symbol']?>";//获取当前的选中的符号的值
if(val=="")val="0";//如果符号为空则默认加号
varobj=document.getElementById("s"+val);//通过id获取当前的选中的符号
obj.checked=true;
}
//对表单进行验证,查看是否有空值
functionCheckSubmit(){
if(frm.first.value==''){
alert("第一个数不能为空");
returnfalse;
}
if(frm.second.value==''){
alert("第二个数不能为空");
returnfalse;
}
returntrue;
}
</script>
‘捌’ switch语句的计算问题
哥哥把问题提的清楚些行么?比如,程序运行到那一步,你的期望值是什么,实际值又是什么,实际值怎么出来的我可以帮你解答!
补充:
当case'A'运行结速时;K=1原因不用我解释了吧?
当case'B'运行结速时;K=3原因case'B':k--; 后没有break;于是会继续运行 k+=2;break; 遇到break终止跳出;
当case'C'运行结速时;K=6原因case'B'运行结速K=3 经13行代码k++,K=4,再执行case'C'K=6,
当case'D'运行结速时;K=1原因case'C'运行结速K=6 经13行代码k++,K=7,再执行case'D' k=k%2得K=1
当case'E'运行结速时;K=10原因执行continue后13行代码k++ 不会执行
当C='F'运行结速时;K=3;原因'F'不在case 范围内,执行default另请注意第十五行while(c<'G') 'F'的ASC码<'G'啊所以while循环也成立
且'F'='E'+1出不来'F'才有问题呢!
实在对不起,当我写完了这些才理解了你的意思;哎呀智商太低了!惭愧惭愧!
‘玖’ 谁帮忙用switch编写一个简单的计算器,实现两个整型数的四则运算 。c语言
代码如下:#include<stdio.h>
void main()
{
int a,b,sum,flag=0;
char fh; //用来记录用户输入的运算符
scanf("%d %c %d =",&a,&fh,&b); //按照这个格式输入运算符例如输入 “1 + 1 =”然后按回车
switch(fh)
{
case '+':sum=a+b;break;
case '-':sum=a-b;break;
case '*':sum=a*b;break;
case '/':
if(b!=0)
sum=a/b;
else
flag=1; //这是错误1
break;
default:flag=2;break; //如果输入的运算符不是+,-,*,./,则为错误2
/*注意,break很重要*/
}
if(flag==1) //这是错误1的情况
printf("错误:分母不能为零!\n");//如果你的编译器是TC,或者winTC最好把中文提示换成英文提示,下同
else if(flag==2) //这是错误2的情况
printf("错误:您输入的运算符错误!\n");
else //这是flag==0的情况,也就是不出错的情况
printf("%d %c %d = %d\n",a,fh,b,sum); //按照这样的格式输出
getchar();//作用是留住屏幕,wintc则应该使用getch()来留住屏幕,原理是输出运行结果后输入任意字符退出程序
}
‘拾’ 使用switch结构实现,制作简易计算器,通过输入的数字和运算符进行运算并显示结果
#include<stdio.h>
voidmain(){floata,b,c;chard;
scanf("%f%c%f",&a,&d,&b);
switch(d){
case'+':c=a+b;break;
case'-':c=a-b;break;
case'*':c=a*b;break;
case'/':c=(b!=0)?(a/b):(0);break;
default:c=0;break;
}
printf("%f%c%f=%f ",a,d,b,c);
}