UVA 11332_anccx84886的专栏-程序员宅基地

技术标签: php  

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2307

把一个长长的数各个位上的数相加,如果得到的结果大于9,则重复此步骤。只要用字符串接收这个数字,则可以超额完成任务

View Code
 1 #include<stdio.h>
 2 #include<string.h>
 3  char str[50];
 4 void pro(int n)
 5 {
 6  int i=0;
 7  while(n/10)
 8     {
 9      str[i++]=n%10+48;
10      n/=10;
11     }
12  str[i++]=n+48;
13  str[i]='\0';
14 }
15 int main()
16 {
17  int i,sum;
18  while(scanf("%s",str),strcmp(str,"0"))
19       {
20        if(strlen(str)==1)
21           {
22            printf("%s\n",str);
23            continue;
24           }
25        do{
26           sum=0;
27           for(i=0;str[i]!='\0';i++)
28              sum+=str[i]-'0';
29           pro(sum);
30          }while(sum>9);
31        printf("%d\n",sum);
32       }
33  return 0;
34 }

 

转载于:https://www.cnblogs.com/huzhenbo113/archive/2013/03/08/2950660.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anccx84886/article/details/101796538

智能推荐

随便推点