2017年9月24日 星期日

[UVa]11332 - Summing Digits(C)




  1. #include <stdio.h>    
  2. #include <string.h>  //strlen()會用到  

  3. int main() {    
  4.     char n[11];    
  5.     while(scanf("%s", n) != EOF && n[0] != 48)    
  6.           //使用者輸入n    //EOF=End Of File, #define EOF(-1)  
  7.     {    
  8.         while(strlen(n) != 1)  //陣列n的長度不等於1  
  9.         {    
  10.             int F = 0;  //F = F(n)  
  11.             for(int i = 0;i < strlen(n);i++)    
  12.             {    
  13.                 F = F + (n[i]-48);//每位元相加    
  14.             }    
  15.             memset(n, '\0', 11);  //清空陣列  
  16.             sprintf(n, "%d", F);  //int to string  
  17.         }    
  18.         printf("%s\n", n);  //輸出g(n)  
  19.     }    
  20.     return 0;    
  21. }    

沒有留言:

張貼留言