文章
2
粉丝
135
获赞
3
访问
5.4k
利用sprintf 将数字转化为字符串 ,strlen判断长度是否为1,为1 则输出digital root
#include <iostream>
#include <bitset>
#include <string>
#include <cmath>
#include <cstring>
using namespace std;
char buf[1010];
int main() {
int c;
while (true) {
scanf("%s", buf);
if (strcmp(buf, "0") == 0)break;
do {
int tmpc = 0;
for (int i = 0;i < strlen(buf);i++) {
tmpc += buf[i] - '0';
}
sprintf(buf, "%d", tmpc);
} while (strlen(buf) > 1);
printf("%s\n", buf);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发