重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
# includestdio.h
創新互聯公司專業IDC數據服務器托管提供商,專業提供成都服務器托管,服務器租用,德陽機房托管,德陽機房托管,成都多線服務器托管等服務器托管服務。
double jia(double x, double d)
{
double s;
s = x+d;
return s;
}
double jian(double x, double d)
{
double s;
s = x-d;
return s;
}
double cheng(double x, double d)
{
double s;
s = x*d;
return s;
}
double chu(double x, double d)
{
double s;
s = x/d;
return s;
}
int main(void)
{
double i, j, k;
char t;
k = 0;
printf("請輸入要計算什么運算“+”“-”“*”“/”\n");
scanf("%c", t);
if(t == '+')
{
printf("請輸入要相加的兩個數\n");
scanf("%lf %lf", i, j);
k = jia(i, j);
printf("這兩個數相加為%6.2lf\n", k);
}
else if(t == '-')
{
printf("請輸入要相減的兩個數\n");
scanf("%lf %lf", i, j);
k = jian(i, j);
printf("這兩個數相減為%6.2lf\n", k);
}
else if(t == '*')
{
printf("請輸入要相*的兩個數\n");
scanf("%lf %lf", i, j);
k = cheng(i, j);
printf("這兩個數相*為%6.2lf\n", k);
}
else if(t == '/')
{
printf("請輸入要相/的兩個數\n");
scanf("%lf %lf", i, j);
k = chu(i, j);
printf("這兩個數相/為%6.2lf\n", k);
}
else
{
printf("對不起目前只支持“+”“-”“*”“/”\n");
}
return 0;
}
用C語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器的方法:
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File;
2、輸入預處理命令和主函數:
#includestdio.h /*函數頭:輸入輸出頭文件*/
void main()/*空類型:主函數*/
3、定義變量:
int a,b,d; /*定義變量的數據類型為整型*/
char c;/*定義變量的數據類型為字符型*/
4、輸入四則運算式:
printf("輸入如“3*4”或“5+2”的四則運算式:");/*輸出文字提示*/
scanf("%d%c%d",a,c,b);/*輸入四則運算式*/
5、判斷運算符號:
switch(c) /*判斷運算符號*/
{
case'+':d=a+b;break;/*進行加法運算*/
case'-':d=a-b;break;/*進行減法運算*/
case'*':d=a*b;break;/*進行乘法運算*/
case'/':d=a/b;break; /*進行除法運算*/
}
6、輸出結果:
printf("%d%c%d=%d\n",a,c,b,d);/*輸出結果*/
完整的源代碼:
#includestdio.h /*函數頭:輸入輸出頭文件*/
void main()/*空類型:主函數*/
{
int a,b,d;/*定義變量的數據類型為整型*/
char c;/*定義變量的數據類型為字符型*/
printf("輸入如“3*4”或“5+2”的四則運算式:");/*輸出文字提示*/
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;/*進行除法運算*/
}
printf("%d%c%d=%d\n",a,c,b,d);/*輸出結果*/
}
#includestdio.h
double jia(double a,double b){
return a+b;}
double jian(double a,double b){
return a-b;}
double cheng(double a,double b){
return a*b;}
double chu(double a,double b){
return a/b;}
int modd(int a,int b){
return a%b;}
int main(){
double a,b;
printf("輸入兩個數字\n");
scanf("%lf%lf",a,b);
printf("加 %lf\n減 %lf\n乘 %lf\n除 %lf\n取模 %d\n",jia(a,b),jian(a,b),cheng(a,b),chu(a,b),modd((int)a,(int)b));
return 0;}
按照你的程序運行后。。。在輸入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");
}
1、加上頭文件#includestdio.h
2、額,int b不可以賦值為1.8
3、%f改為f,因為是輸入,所以要傳地址的。
4、scanf后的=掉,這是函數調用,不是賦值;
ok:最終程序為:
#includestdio.h
#include conio.h
main()
{int a,b,f,sum;
a=32,b=8;
scanf("%d",f);
sum=f-a/b;
printf("sum is %d\n",sum);
getch();
}
另外,我不知道你的轉換公式有沒有錯誤,但是感覺有點別扭。
實現方法如下:
讀入的時候用%x讀入,然后在程序里面直接用+,-,*,/運算就行了,輸出的時候再用%x。
示例一:
int a,b;
scanf("%x%x",a,b);
printf("%x\n%x\n",a+b,a-b);
輸入:9 7
輸出:
10
2
示例二:
int a = 0, b = 0;
char char1 = 0;
int val = 0;
printf("輸入:");
scanf("%d%c%d", a, char1, b);
switch (char1) {
case '+': val = a + b;
break;
case '-': val = a - b;
break;
case '*': val = a * b;
break;
case '/': val = a / b;
break;
}
printf("%d", val);