Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void clear(char *string, int size){
- // Очистка массива
- for(int i=0; i<size; i++) string[i]=-1;
- }
- int sum(char *string, int size){
- // Подсчёт суммы цифр числа
- // Если слово пустое или не число, то результат -1
- if(size==0) return -1;
- int res=0;
- int i=0;
- if((string[i]=='-' || string[i]=='+') && size>1) i++;
- while(i<size){
- if(0<=string[i]-'0' && string[i]-'0'<=9){
- res+=string[i]-'0';
- }else{
- res=-1;
- break;
- }
- i++;
- }
- return res;
- }
- int main(){
- char word[65536];
- char s;
- int i=0;
- int last_sum=0;
- int cur_sum=0;
- int tmp;
- while(scanf("%c", &s)>0){
- if(s=='\n' || s==' ' || s=='\t'){
- tmp=sum(word, i);
- if(tmp>=0){
- last_sum=cur_sum;
- cur_sum=tmp;
- }
- clear(word, i);
- i=-1;
- }else{
- //
- word[i]=s;
- }
- i++;
- }
- // Обработка последнего слова, если оно не пустое
- if(word[0]>0){
- printf("\n");
- tmp=sum(word, i);
- if(tmp>=0){
- last_sum=cur_sum;
- cur_sum=tmp;
- }
- }
- printf("%d\n", last_sum);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement