c语言实现简单的加减乘除 用C语言编写一个简单的加减乘除计算器,要求如图

\u600e\u6837\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u7b80\u5355\u7684\u53ef\u4ee5\u8fdb\u884c\u52a0\u51cf\u4e58\u9664\u8fd0\u7b97\u6df7\u5408\u8fd0\u7b97\u7684\u8ba1\u7b97\u5668\uff1f

\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u7b80\u5355\u7684\u53ef\u4ee5\u8fdb\u884c\u52a0\u51cf\u4e58\u9664\u8fd0\u7b97\u6df7\u5408\u8fd0\u7b97\u7684\u8ba1\u7b97\u5668\u7684\u65b9\u6cd5\uff1a
1\u3001\u6253\u5f00visual C++ 6.0-\u6587\u4ef6-\u65b0\u5efa-\u6587\u4ef6-C++ Source File\uff1b

2\u3001\u8f93\u5165\u9884\u5904\u7406\u547d\u4ee4\u548c\u4e3b\u51fd\u6570\uff1a
#include /*\u51fd\u6570\u5934\uff1a\u8f93\u5165\u8f93\u51fa\u5934\u6587\u4ef6*/
void main()/*\u7a7a\u7c7b\u578b\uff1a\u4e3b\u51fd\u6570*/

3\u3001\u5b9a\u4e49\u53d8\u91cf\uff1a
int a,b,d\uff1b /*\u5b9a\u4e49\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b*/
char c\uff1b/*\u5b9a\u4e49\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u5b57\u7b26\u578b*/

4\u3001\u8f93\u5165\u56db\u5219\u8fd0\u7b97\u5f0f\uff1a
printf("\u8f93\u5165\u5982\u201c3*4\u201d\u6216\u201c5+2\u201d\u7684\u56db\u5219\u8fd0\u7b97\u5f0f\uff1a")\uff1b/*\u8f93\u51fa\u6587\u5b57\u63d0\u793a*/
scanf("%d%c%d",&a,&c,&b)\uff1b/*\u8f93\u5165\u56db\u5219\u8fd0\u7b97\u5f0f*/

5\u3001\u5224\u65ad\u8fd0\u7b97\u7b26\u53f7\uff1a
switch(c) /*\u5224\u65ad\u8fd0\u7b97\u7b26\u53f7*/
{
case'+':d=a+b;break\uff1b/*\u8fdb\u884c\u52a0\u6cd5\u8fd0\u7b97*/
case'-':d=a-b;break\uff1b/*\u8fdb\u884c\u51cf\u6cd5\u8fd0\u7b97*/
case'*':d=a*b;break\uff1b/*\u8fdb\u884c\u4e58\u6cd5\u8fd0\u7b97*/
case'/':d=a/b;break\uff1b /*\u8fdb\u884c\u9664\u6cd5\u8fd0\u7b97*/
}

6\u3001\u8f93\u51fa\u7ed3\u679c\uff1a
printf("%d%c%d=%d\n",a,c,b,d)\uff1b/*\u8f93\u51fa\u7ed3\u679c*/

\u5b8c\u6574\u7684\u6e90\u4ee3\u7801\uff1a
#include /*\u51fd\u6570\u5934\uff1a\u8f93\u5165\u8f93\u51fa\u5934\u6587\u4ef6*/
void main()/*\u7a7a\u7c7b\u578b\uff1a\u4e3b\u51fd\u6570*/
{
int a,b,d\uff1b/*\u5b9a\u4e49\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b*/
char c\uff1b/*\u5b9a\u4e49\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u5b57\u7b26\u578b*/
printf("\u8f93\u5165\u5982\u201c3*4\u201d\u6216\u201c5+2\u201d\u7684\u56db\u5219\u8fd0\u7b97\u5f0f\uff1a")\uff1b/*\u8f93\u51fa\u6587\u5b57\u63d0\u793a*/
scanf("%d%c%d",&a,&c,&b)\uff1b/*\u8f93\u5165\u56db\u5219\u8fd0\u7b97\u5f0f*/
switch(c)/*\u5224\u65ad\u8fd0\u7b97\u7b26\u53f7*/
{
case'+':d=a+b;break\uff1b/*\u8fdb\u884c\u52a0\u6cd5\u8fd0\u7b97*/
case'-':d=a-b;break\uff1b/*\u8fdb\u884c\u51cf\u6cd5\u8fd0\u7b97*/
case'*':d=a*b;break\uff1b/*\u8fdb\u884c\u4e58\u6cd5\u8fd0\u7b97*/
case'/':d=a/b;break\uff1b/*\u8fdb\u884c\u9664\u6cd5\u8fd0\u7b97*/
}
printf("%d%c%d=%d\n",a,c,b,d)\uff1b/*\u8f93\u51fa\u7ed3\u679c*/
}

#include #include int Calculate(char* input, float *ret){int returnRet = 0;float num1, num2, symbol;int len = strlen(input);char* num1Str = (char*)malloc(sizeof(char) * len);char* num2Str = (char*)malloc(sizeof(char) * len);memset(num1Str, 0, len);memset(num2Str, 0, len);int getSymbol = 0;for (int i = 0, j = 0; i < len; i++){if (input[i] == '+' || input[i] == '-' || input[i] == '*' || input[i] == '/'){symbol = input[i];getSymbol = 1;continue;}if (getSymbol == 0)num1Str[i] = input[i];elsenum2Str[j++] = input[i];}num1 = atof(num1Str);num2 = atof(num2Str);if(symbol == '+')*ret = num1 + num2;else if(symbol == '-')*ret = num1 - num2;else if(symbol == '*')*ret = num1 * num2;if(symbol == '/'){if(num2 != 0)*ret = num1 / num2;elsereturnRet = 1;//data error}free(num2Str);free(num1Str);return returnRet;}int main(void){float ret;char input[100];memset(input, 0, sizeof(input));scanf("%s",input);if(Calculate(input,&ret) == 0)printf("%.2f",ret);elseprintf("data erro");return 0;}

1、打开C-Free5.0新建一个空白页面,然后将C语言的基础格式写完,注意格式缩进。如下图所示。

2、然后输入“   int a=10; float b=5,c; ”注意: float 是浮点型,int 是整型。这个是用来定义C语言中的数值的类型,还有如果一个语句结束那就要打上“;”,这个很重要,不要忘记了。上面的语句是定义了一个a 的整型数,值为10。

3、c定义的一个空白的浮点数,用来当作后面的加减后取得值。注意这里有几个注意点,可以看到一个整型的数和一个浮点数的加减乘除得到的数值都是浮点数,所以这里用%f输出c的值。

4、继续将剩下的语言补充完整如下:#include <stdio.h>main(){   int a=10;   float b=5,c,d,e,f;    c=a-b;   d=a+b;   e=a*b;   f=a/b;   printf("a-b=%f
",c);   printf("a+b=%f
",d);   printf("a*b=%f
",e);   printf("a/b=%f
",f);}。

5、这样一个简单的C语言的加减乘除算是写好了,运行看看。



按照你的程序运行后。。。在输入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");
}

以下是修改后的程序:
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
#include <math.h>

void main()
{
float a,b;
char c;
/*printf("input expression: a+(-,*,/)b \n");
scanf("%f %c %f",&a,&c,&b);*/
printf("input a:");
scanf("\n %f",&a);
printf("input b:");
scanf("\n %f",&b);
printf("input c:");
scanf("\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: printf("input error\n");
}

getch(); /* 此语句请不要删除*/
}

原因是因为你输入完'b'之后,按回车,编译器会把回车键当做是'c'说输入的内容,所以会出错。
我改了一下,你可以看到可以输入并算出结果,但输入有点难看,如(2 1+),'1'和'+'之间不要加任何东西。你可以自己再想想怎么改吧,考试中。
程序如下:
#include <stdio.h>
#include <math.h>

void main()
{
float a,b;
char c;
printf("\n 请输入两个整数,一个运算符: ");
scanf("%f",&a);
scanf("%f",&b);
scanf("%c",&c);
switch(c)
{
case '+': {printf("\na+b=%f\n",a+b);break;}
case '-': {printf("\na-b=%f\n",a-b);break;}
case '*': {printf("\na*b=%f\n",a*b);break;}
case '/': {printf("\na/b=%f\n",a/b);break;}
default: break;
}
}

#include <stdio.h>
#include <math.h>
#include <iostream.h>

void main()
{
float a,b;
char c,k;
printf("\n input a:");
scanf("%f",&a);
printf("\n input b:");
scanf("%f",&b);
printf("\n input c:");
cin>>c;
k=c;
printf("\n%c",c);
switch(k)
{
case '+': cout<<a+b<<endl;break;
case '-': cout<<a-b<<endl;break;
case '*': cout<<a*b<<endl;break;
case '/': cout<<a/b<<endl;break;
default: break;
}
}
这个是对的,试试。

  • ...杈撳叆2涓暟,瀹氫箟鍥涗釜鍑芥暟,鍒嗗埆瀹炵幇鍔犲噺涔橀櫎鍥涘垯杩愮畻,瑕佷娇鐢ㄥ嚱鏁...
    绛旓細1銆佹墦寮python璇█涓殑鍛戒护绐楀彛锛屽畾涔夊嚱鏁癱om_result锛屼紶鍏ヤ笁涓弬鏁皒銆亂鍜宖unc銆2銆佸畾涔変竴涓彉閲弐esult锛岀劧鍚庤皟鐢ㄧ涓姝ヤ腑鐨勫嚱鏁帮紝浣跨敤lambda琛ㄨ揪寮忋3銆佷娇鐢ㄥ悓鏍风殑鏂规硶锛岃皟鐢ㄥ嚱鏁癱om_result锛岃繖娆ambda琛ㄨ揪寮忎娇鐢ㄥ噺鍙枫4銆佸啀娆¤皟鐢ㄥ嚱鏁帮紝lambda琛ㄨ揪寮忎娇鐢ㄤ箻鍙凤紝杩炴帴涓や釜鎿嶄綔鏁般5銆佸鏋滆璁$畻涓や釜鏁扮殑闄ゆ硶锛...
  • c璇█璁捐涓涓▼搴,杈撳叆涓や釜鏁,灏嗕袱涓暟鍋鍔犲噺涔橀櫎杩愮畻鍚庤緭鍑哄叾鍥涗釜...
    绛旓細include<stdio.h> int main(){ int a,b;scanf("%d%d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);printf("%d%%%d=%d\n",a,b,a%b);return 0;} ...
  • 鎬庢牱鐢C璇█鍋氭贩鍚鍔犲噺涔橀櫎杩愮畻
    绛旓細1銆佸姞涓婂ご鏂囦欢#include<stdio.h> 2銆侀锛宨nt b涓嶅彲浠ヨ祴鍊间负1.8 3銆%f鏀逛负&f,鍥犱负鏄緭鍏ワ紝鎵浠ヨ浼犲湴鍧鐨勩4銆乻canf鍚庣殑=鎺夛紝杩欐槸鍑芥暟璋冪敤锛屼笉鏄祴鍊硷紱ok:鏈缁堢▼搴忎负锛歩nclude<stdio.h> include <conio.h> main(){int a,b,f,sum;a=32,b=8;scanf("%d",&f);sum=f-a/b;printf("...
  • 鐢c璇█缂栦竴涓绠鍗曠殑鍔犲噺涔橀櫎鐨勮绠楀櫒绋嬪簭 涓嶉渶瑕佸緢澶嶆潅 鍙鑳借繘琛屼袱...
    绛旓細int main(){ char exp[8];printf("enter exp:\n");scanf("%s",exp); //杈撳叆绫讳技浜1+1 2*5杩欐牱鐨勫紡瀛愶紝涓娆′竴涓 switch(exp[1]){ case '+':printf("%d\n",exp[0]-'0'+exp[2]-'0'); break;case '-':printf("%d\n",exp[0]-exp[2]); break;case '*':printf("%d\...
  • 鐢C璇█鎬庢牱瀹炵幇璁$畻鍣鍔犲噺涔橀櫎鍔熻兘?
    绛旓細vector<char> chars,float &value) { //璁$畻鍥涜呰〃杈惧紡 鏃犳嫭鍙风被鍨 1+2*3+4 int ii=0; //鍏堣绠涔橀櫎 while(ii<chars.size()) //娉ㄦ剰while(ii<(chars.size()-2)) 鍜寃hile(ii<chars.size()-2) 鍖哄埆 { switch(chars[ii]) { case '*': numbers...
  • 鐢C璇█缂栧啓涓涓绠鍗曠殑鍔犲噺涔橀櫎璁$畻鍣,瑕佹眰濡傚浘
    绛旓細include <stdlib.h>#include <string.h>int Calculate(char* input, float *ret){int returnRet = 0;float num1, num2, symbol;int len = strlen(input);char* num1Str = (char*)malloc(sizeof(char) * len);char* num2Str = (char*)malloc(sizeof(char) * len);memset(num1Str, 0...
  • ...缂栦竴涓繍绠楀櫒绋嬪簭銆傝姹傝兘瀹炵幇涓や釜鏁鐨勫姞鍑忎箻闄鍥涚杩愮畻銆傝緭鍏ヤ袱涓...
    绛旓細include "stdio.h"void main(){ float a,b,c;char ch,ch1;printf("璇疯緭鍏ヨ〃杈惧紡濡 5+6= 鐒跺悗鎸夊洖杞﹂敭:");scanf("%f%c%f%c",&a,&ch,&b,&ch1);switch(ch){ case '+':c=a+b;printf("%f+%f=%f\n",a,b,c);break;case '-':c=a-b;printf("%f-%f=%f\n",a,b,c);brea...
  • 鐢c璇█缂栫▼绠鍗曠殑鍔犲噺涔橀櫎浠ュ強娣峰悎杩愮畻鐨勮绠楀櫒
    绛旓細鐢c璇█缂栫▼绠鍗曠殑鍔犲噺涔橀櫎浠ュ強娣峰悎杩愮畻鐨勮绠楀櫒  鎴戞潵绛 1涓洖绛 #鐑# 寮犳姊呭府鍔╃殑鍙湁濂崇敓鍚?huafeng86999 2010-07-03 路 TA鑾峰緱瓒呰繃258涓禐 鐭ラ亾灏忔湁寤烘爲绛斾富 鍥炵瓟閲:262 閲囩撼鐜:100% 甯姪鐨勪汉:203涓 鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 灞曞紑鍏ㄩ儴 #include <stdio.h>#include <stdlib.h>#...
  • 鐢C璇█璁捐涓涓彲浠ヨ繛缁鍔犲噺涔橀櫎鐨勭▼搴
    绛旓細include<stdio.h> void main(){ int ls;/*瀹氫箟鏁村舰 缁撳悎瀛楃鍒ゆ柇*/ float as,ss;/*瀹氫箟娴偣鏁*/ char bs[2],c;/*瀹氫箟瀛楃鐢ㄤ簬鏀剁鍙*/ for(int i=0;;i++) /*瀹氫箟i=0 寤虹珛姝诲惊鐜 姣忔寰幆鑷姞1*/ { printf("璇疯緭鍏ユ暟瀛梊n:");scanf("%f",&as);/*寰楀埌涓涓暟*/ if(i!=0...
  • 鐢C璇█缂栧啓涓涓绠鍗曞姞鍑忎箻闄鐨勭▼搴
    绛旓細include <stdio.h> include <stdlib.h> include main(){ int a,b,c,d,result,i;char f[]={'+','-','*','/'};while(1){ srand(time(NULL));a=rand()%100;b=rand()%100;c=rand()%4;switch (c){ case 0: d=a+b;break;case 1: d=a-b;break;case 2: d=a*b;bre...
  • 扩展阅读:扫一扫题目出答案 ... c语言入门程序 ... c++简单加法 ... c++加减乘除运算编程 ... c语言简单加法程序 ... 自学编程100例 ... c语言编程自学 ... 编程实现简单四则运算 ... c语言最简单加减乘除 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网