看到给的数字不知道有多少位,那就肯定会很大啦,所以用数组!是负数的情况稍微判断下就好了。
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char a[105];
int main() {
int t,sum;
scanf("%d",&t);
while(t--)
{
sum = 0;
scanf("%s",a);
int x = strlen(a);
if(a[0] == '-')
{
for(int i = 1 ;i < strlen(a);i++)
{
sum += a[i] - '0';
}
printf("number=%d,sum=%d.\n",x - 1,sum);
}
else{
for(int i = 0 ;i < strlen(a);i++)
{
sum += a[i] - '0';
}
printf("number=%d,sum=%d.\n",x,sum);
}
}
return 0;
}