user-0 提问: 【C语言求助】幼儿园计算器(1位数加减)

回复:
user: user-1
content: C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 引用 2 楼 飞禽走兽卍一2b 的回复:快被整疯了，虽然这已经是最简单的计算器了研究和计算机对话的方式，让它听你的，加油！

user: user-0
content: 引用 1 楼 user-2的回复:供参考：#include <stdio.h> #include <math.h> #include <stdlib.h> void main() {         //{  //这里多了‘{’        printf("hw 附加题\n");        int i,j=0,result,sz;        printf("请输入参与计算数字的个数：\n");        scanf("%d",&sz);    /*sz是计算数字个数，控制一下循环条件，防止后面出现多余的奇怪的项*/        getchar();  //吸收回车        printf("请输入算式：\n");        char *a = new char[2*sz-1],*n = new char[2*sz-1],tmp;//char a[2*sz-1],n[2*sz-1],tmp;        gets(a);                                             //动态的char[]      //这一段是将字符转化为整型       for(int i=0;i<2*sz-1;i++)           {               if(a[i]!='\n')  //遇回车结束，然并卵               {                   if(a[i]<='9'&&a[i]>='0')                   {                       n[i]=a[i]-'0';                      printf("n[%d]=%d ",i,n[i]);                    }               }               else break;            }       result=n[0];                                        // printf("result0=%d",result);                                        //下面这段就是计算加减       for(i=0;i<2*sz-1;i++)        {                       if(a[i]!='\n')           {                if(a[i]=='-')//if(a[i]='45')//这里是‘== ’ //减号的ASCII码为45               {                   printf("n[%d]=%d ",i+1,n[i+1]);                   result-=n[i+1];               }               else if(a[i]=='+')//else if(a[i]='43') 这里是‘==’ //加号               {                   result+=n[i+1];               }           }           else break;        }        printf("result=%d",result);        delete []a;delete []n;         } 那个*a  *n 我们好像还没学

user: user-0
content: 引用 1 楼 user-2的回复:供参考：#include <stdio.h> #include <math.h> #include <stdlib.h> void main() {         //{  //这里多了‘{’        printf("hw 附加题\n");        int i,j=0,result,sz;        printf("请输入参与计算数字的个数：\n");        scanf("%d",&sz);    /*sz是计算数字个数，控制一下循环条件，防止后面出现多余的奇怪的项*/        getchar();  //吸收回车        printf("请输入算式：\n");        char *a = new char[2*sz-1],*n = new char[2*sz-1],tmp;//char a[2*sz-1],n[2*sz-1],tmp;        gets(a);                                             //动态的char[]      //这一段是将字符转化为整型       for(int i=0;i<2*sz-1;i++)           {               if(a[i]!='\n')  //遇回车结束，然并卵               {                   if(a[i]<='9'&&a[i]>='0')                   {                       n[i]=a[i]-'0';                      printf("n[%d]=%d ",i,n[i]);                    }               }               else break;            }       result=n[0];                                        // printf("result0=%d",result);                                        //下面这段就是计算加减       for(i=0;i<2*sz-1;i++)        {                       if(a[i]!='\n')           {                if(a[i]=='-')//if(a[i]='45')//这里是‘== ’ //减号的ASCII码为45               {                   printf("n[%d]=%d ",i+1,n[i+1]);                   result-=n[i+1];               }               else if(a[i]=='+')//else if(a[i]='43') 这里是‘==’ //加号               {                   result+=n[i+1];               }           }           else break;        }        printf("result=%d",result);        delete []a;delete []n;         } 好好好，我慢慢看

user: user-0
content: 快被整疯了，虽然这已经是最简单的计算器了

user: user-2
content: 供参考：#include <stdio.h> #include <math.h> #include <stdlib.h> void main() {         //{  //这里多了‘{’        printf("hw 附加题\n");        int i,j=0,result,sz;        printf("请输入参与计算数字的个数：\n");        scanf("%d",&sz);    /*sz是计算数字个数，控制一下循环条件，防止后面出现多余的奇怪的项*/        getchar();  //吸收回车        printf("请输入算式：\n");        char *a = new char[2*sz-1],*n = new char[2*sz-1],tmp;//char a[2*sz-1],n[2*sz-1],tmp;        gets(a);                                             //动态的char[]      //这一段是将字符转化为整型       for(int i=0;i<2*sz-1;i++)           {               if(a[i]!='\n')  //遇回车结束，然并卵               {                   if(a[i]<='9'&&a[i]>='0')                   {                       n[i]=a[i]-'0';                      printf("n[%d]=%d ",i,n[i]);                    }               }               else break;            }       result=n[0];                                        // printf("result0=%d",result);                                        //下面这段就是计算加减       for(i=0;i<2*sz-1;i++)        {                       if(a[i]!='\n')           {                if(a[i]=='-')//if(a[i]='45')//这里是‘== ’ //减号的ASCII码为45               {                   printf("n[%d]=%d ",i+1,n[i+1]);                   result-=n[i+1];               }               else if(a[i]=='+')//else if(a[i]='43') 这里是‘==’ //加号               {                   result+=n[i+1];               }           }           else break;        }        printf("result=%d",result);        delete []a;delete []n;         }