作者pico2k (風月)
站內C_and_CPP
標題Re: [問題] 面試考題
時間Tue Aug 10 16:46:52 2010
Environment : winXP sp2,Code:Block 10.5,gcc 4.4.1
sample code
=============================================================
#include <stdio.h>
#include <stdlib.h>
int main()
{
char src[12] = {0};
int temp = 0;
int cnt = 0;
int i = 0;
scanf("%s",src);
for (;;){
cnt = strlen(src);
if (cnt < 2){
break;
}
temp = 0;
for (i=0;i<cnt;i++){
temp += src[i] - '0'; //重點
}
sprintf(src,"%d",temp);
}
printf("result = %s",src);
return 0;
}
input : 454
output : 4
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.64.95
推 joans:謝謝 我寫出來了 08/10 18:10
→ xatier:其實sprintf()的回傳值就是src的長度, 可以少做一次strlen 08/11 07:23
→ xatier:順帶一提, printf()回傳的東西是"印出來的資料"的長度 08/11 07:24
→ xatier:然後temp += (src[i] - '0'); //加個括號是個好做法 08/11 07:25