输入一个整数 in,求它的位数以及各位数字之和。例如 123 的各位数字之和是 6,位数是 3。
输入:
4 (repeat=4)
0 (in=0)
23456 (in=23456)
-100 (in=-100)
-1 (in=-1)
输出:
count = 1, sum = 0 (0的位数是1, 各位数字之和是0)
count = 5, sum = 20 (23456的位数是5, 各位数字之和是20)
count = 3, sum = 1 (-100的位数是3, 各位数字之和是1)
count = 1, sum = 1 (-1的位数是1, 各位数字之和是1)
#include <stdio.h>
int main(void)
{
int count, in, sum;
int repeat, ri;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++)
{
scanf("%d", &in);
count = 0; sum = 0;
if(in < 0) in = -in;
do {/* 用do...while循环是为了当in==0时能算出count=1 */
sum = sum + in % 10;
in = in / 10;
count++;
} while(in != 0);
printf("count = %d, sum = %d\n", count, sum);
}
}