一个简单计算器的C程序

一个简单计算器的C程序,该程序的功能: 每行读取一个数(数前面可能有正负号) 并对他们求和, 每次输完后把这些数的累加总和 打印出来(各种功能以后还会不断地完善)。

 #include <stdio.h>    #include <ctype.h>    #define MAXLINE 100    double atof(char s[]);    int getline_(char s[], int lim);        int main(void)    {        double sum;        char line[MAXLINE];            sum = 0;        while (getline_(line, MAXLINE) > 0){            printf("\t %g \n", sum += atof(line));        }        return 0;    }        double atof(char s[]) /*把字符串转换为相应的双精度浮点型*/    {       double val, power;       int i, sign;           for(i = 0; isspace(s[i]); i++) /*跳过空格*/        ;           sign = (s[i] == '-') ? -1 : 1;   /*符号处理*/       if( s[i] == '+' || s[i] == '-' )         i++;           for(val = 0.0; isdigit(s[i]); i++)    /*小数点右的处理*/           val = 10.0 * val + (s[i] - '0');           if(s[i] == '.')                       /*小数点的处理*/          i++;           for(power = 1.0; isdigit(s[i]); i++){  /*小数点左的处理*/            val = 10.0 * val + (s[i] - '0');  /*字符转 整数*/            power *= 10.0;       }       return sign * val /power;             /*把转换好后的数返回*/    }        int getline_(char s[], int lim)    {        int c , i;       i = 0;        while(--lim > 0 && (c = getchar()) != EOF && c != '\n')            s[i++] = c;        if(c == '\n')            s[i++] = c;        s[i] = '\0';        return i;    }          

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwyjyp.html