Advertisement
noshin98

uva1586

Oct 25th, 2016
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     char s[1001];
  7.     int i,j,k,l,n;
  8.     double sum,sam,p,q,w,r;
  9.     scanf("%d",&n);
  10.     for(i=1;i<=n;i++)
  11.     {
  12.         sum=0;
  13.         scanf("%s",s);
  14.         l=strlen(s);
  15.         for(j=0;j<l;j++)
  16.         {
  17.             if(s[j]=='C')
  18.             {
  19.                 if(s[j+1]=='\0')
  20.                 sum=sum+12.01;
  21.                 else if(s[j+1]=='H'||s[j+1]=='O'||s[j+1]=='N'||s[j+1]=='C')
  22.                 sum=sum+12.01;
  23.                 else if(s[j+2]=='H'||s[j+2]=='O'||s[j+2]=='N'||s[j+2]=='\0')
  24.                 sum=sum+ (12.01*(s[j+1]-'0'));
  25.                 else if(s[j+3]=='H'||s[j+3]=='O'||s[j+3]=='N'||s[j+3]=='\0')
  26.                 sum=sum+ (12.01*((s[j+1]-'0')*10+(s[j+2]-'0')));
  27.             }
  28.             else if(s[j]=='H')
  29.             {
  30.                 if(s[j+1]=='\0')
  31.                 sum=sum+1.008;
  32.                 else if(s[j+1]=='C'||s[j+1]=='O'||s[j+1]=='N'||s[j+1]=='H')
  33.                 sum=sum+1.008;
  34.                 else if(s[j+2]=='C'||s[j+2]=='O'||s[j+2]=='N'||s[j+2]=='\0')
  35.                 sum=sum+ (1.008*(s[j+1]-'0'));
  36.                 else if(s[j+3]=='C'||s[j+3]=='O'||s[j+3]=='N'||s[j+3]=='\0')
  37.                 sum=sum+ (1.008*((s[j+1]-'0')*10+(s[j+2]-'0')));
  38.             }
  39.             else if(s[j]=='O')
  40.             {
  41.                 if(s[j+1]=='\0')
  42.                 sum=sum+16.00;
  43.                 else if(s[j+1]=='C'||s[j+1]=='H'||s[j+1]=='N'||s[j+1]=='O')
  44.                 sum=sum+16.00;
  45.                 else if(s[j+2]=='C'||s[j+2]=='H'||s[j+2]=='N'||s[j+2]=='\0')
  46.                 sum=sum+ (16.00*(s[j+1]-'0'));
  47.                 else if(s[j+3]=='C'||s[j+3]=='H'||s[j+3]=='N'||s[j+3]=='\0')
  48.                 sum=sum+ (16.00*((s[j+1]-'0')*10+(s[j+2]-'0')));
  49.             }
  50.             else if(s[j]=='N')
  51.             {
  52.                 if(s[j+1]=='\0')
  53.                 sum=sum+14.01;
  54.                 else if(s[j+1]=='C'||s[j+1]=='O'||s[j+1]=='H'||s[j+1]=='N')
  55.                 sum=sum+14.01;
  56.                 else if(s[j+2]=='C'||s[j+2]=='O'||s[j+2]=='H'||s[j+2]=='\0')
  57.                 sum=sum+ (14.01*(s[j+1]-'0'));
  58.                 else if(s[j+3]=='C'||s[j+3]=='O'||s[j+3]=='H'||s[j+3]=='\0')
  59.                 sum=sum+ (14.01*((s[j+1]-'0')*10+(s[j+2]-'0')));
  60.             }
  61.         }
  62.         printf("%0.3lf\n",sum);
  63.     }
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement