求整数的位数以及各位数之和
题目描述
输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
输入一个整数,输出它的位数以及各位数之和。
样例输入
3
123456 20000 -1
样例输出
number=6,sum=21.
number=5,sum=2.
number=1,sum=1.
判断系统提示我只对了一半,格式条件都是对的,后来我考虑会不会是用long long int,但是在输入-1时,输出结果会是错误的
这是我的代码:
#include <stdio.h>
int main()
{
int s[1000] = { 0 };
int repeat;
do {
scanf("%d", &repeat);
} while (repeat <= 0 || repeat >= 10);
for (int i = 0; i < repeat; i++)
scanf("%d", &s[i]);
for(int j=0;j<repeat;j++)
{
int num = 0, sum = 0;
if (s[j] < 0)
s[j] = -s[j];
while (s[j] != 0)
{
num++;
sum += s[j] % 10;
s[j] /= 10;
}
printf("number=%d,sum=%d.\n", num, sum);
}
return 0;
}