『壹』 使用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);
}