Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- #include "ctype.h"
- #define MAXLINE 100
- double myatof(char s[]);
- int mygetline(char line[], int limite);
- int main(void)
- {
- char s[MAXLINE];
- double sum = 0;
- scanf("%lf", &sum);
- while (mygetline(s, MAXLINE) >= 0)
- printf("\t%g\n", sum += myatof(s));
- return 0;
- }
- int mygetline(char s[], int limite)
- /* stocke la ligne dans s[] et renvoit la taille de la ligne */
- {
- int c;
- int i = 0;
- while (--limite > 0 && (c = getchar()) != EOF && c != '\n')
- s[i++] = c;
- if (c == '\n')
- s[i++] = c;
- s[i] = '\0';
- return i;
- }
- double myatof(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; isdigit(s[i]); i++)
- val = 10 * val + (s[i] - '0');
- if (s[i] == '.' || s[i] == ',')
- i++;
- for (power = 1; isdigit(s[i]); i++){
- val = 10 * val + (s[i] - '0');
- power *= 10;
- }
- return sign * val / power;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement