题目描述
小洪最近学了正整数和负整数,她现在面对一组整数,想算出这组整数有多少个正整数,多少个负整数,以及正整数的和是多少,负整数的和是多少。
输入
第一行:一个正整数n,代表有n个整数(0<n<=100)。
第二行:n个空格分开的整数(小于等于1000)。
输出
第一行:两个整数,代表正整数的个数和正整数的和(如果没有正数就输出0 0)。
第二行:两个整数,代表负整数的个数和负整数的和(如果没有负数就输出0 0)。
样例输入
6
12 40 15 -20 48 -50
样例输出
4 115
2 -70
#include <bits\stdc++.h>
main()
{
char s[101][1000];
int i,j,m,n,x1=0,x2=0,y1=0,y2=0,lon;
scanf("%d",&n);
for(i=0;i<n;i++)
{
int k=0;
scanf("%s",s[i]);
if(s[i][0]!='-')
{
x1++;
lon=strlen(s[i]);
for(j=lon;j>0;j--)
{
y1+=(s[i][j-1]-'0')*pow(10,k);//该死的,当时做它忘记了j-1了,凉凉,以至于做后面的题心态崩了,难受死了,也算教训吧。j-1 j-1 j-1……
k++;
}
}
else
{
x2++;
lon=strlen(s[i]);
for(j=lon;j>1;j--)
{
y2+=(s[i][j-1]-'0')*pow(10,k);
k++;
}
}
}
printf("%d %d\n",x1,y1);
printf("%d -%d",x2,y2);
}